Help SVP "erreur d'exécution 13 incompatibilité de type, vba" - VB/VBA/VBS - Programmation
Marsh Posté le 22-07-2014 à 19:13:45
Bonjour, bonjour !
• Rien à voir avec un bug !
• Copier / Coller n'est pas programmer !
• Respecter (enfin) les règles du forum : baliser le code via l'icône dédiée & indiquer le n° de la ligne déclenchant l'erreur …
• Souvent la voie vers la solution est dans le message d'erreur et dans son aide !
Donc comme indiqué, cette erreur survient quand torchons & serviettes sont mélangés :
les types de données ne sont pas comparables …
Marsh Posté le 22-07-2014 à 22:30:49
Marc L a écrit : |
Bonjour Marc L,
merci d'abord pour ta réponse et désolé si j'ai mal expliqué le problème (je tiens à te signaler que je n'y connais rien en programmation) c'est pour un usage personnel.
En fait, le message d'erreur est au niveau de la ligne en gras.
Cordialement
-----
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If CDate(TextBox1.Value) > Feuil11.Range("A" & 1).Value And CDate(TextBox1.Value) < Feuil11.Range("B" & 1).Value Then -------> Erreur 13, incompatibilité de type.
Else
MsgBox "Vérifiez si vous avez choisi le bon trimestre"
Me.TextBox1.Text = ""
End If
End Sub
Marsh Posté le 22-07-2014 à 23:08:21
ReplyMarsh Posté le 22-07-2014 à 23:50:01
Marc L a écrit : |
Re-Bonsoir Marc,
c'est fait mais malheureusement toujours le même problème.
cdlt
Marsh Posté le 23-07-2014 à 07:46:53
Bonjour,
Ton problème semble survenir au moment où tu quittes ta textbox avec une valeur nulle. Donc tu devrais tester la présence d'une valeur avant de passer dans la vérification du bon trimestre.
A noter que datepart("q"....) donne le N° de trimestre. Cela peut être utile.
La validation sur l'évènement exit n'est peut-être pas idéale. Il doit être possible de le faire sur un évènement du style afterupdate ou beforeupdate
Sur un autre forum j'ai testé ce qui concerne ta question sur graphe4.
C'est probablement un léger Bug Excel: change le nom du graphique 4 dans la feuille "qualité" et tu n'auras plus le pb. Tu pourras ensuite lui redonner le nom graphique 4.
J'ai vu que tu faisais 4 formulaires, 1 par trimestre, cela va être difficile à gérer pour apporter des modifs. Il y a probablement un moyen de faire un seul formulaire et, à la validation de ventiler dans le bon trimestre.
Bonne journée
Cordialement
Marsh Posté le 23-07-2014 à 10:55:27
seniorpapou a écrit : Bonjour, |
Bonjour seniorpapou et merci pour ta réponse détaillée.
Hallelujaaaaaah. Enfin ca marche, effectivement c'était un problème d'évènement j'ai remplacé le exit par un beforeupdate.
Pour la graphique j'ai réussi après plus de dix jours à identifier le problème. C'est super con, le graphique 4 était un peu éloigné des autres quand je les ai regroupé dans le même endroit c'a fonctionné .
Merci encore une fois senior tu m'as sauvé la vie une fois de plus .
Cordialement
Marsh Posté le 23-07-2014 à 11:57:19
Bien vu seniorpapou !
Toutefois cela marcherait dans l'évènement Exit si Vincent tu contrôles tes valeurs, le B-A-BA …
Marsh Posté le 22-07-2014 à 14:52:06
Bonjour le forum,
J'essaie de mettre un controle sur un textbox afin de limiter la date saisie entre deux dates, la premiere se trouve dans Feuil1.Range("A" & 1) = 01/01/2014 la deuxième dans Feuil11.Range("B" & 1). J'ai réussi à trouver le code ci-dessous mais malheureusement il ne fonctionne pas, cause : une erreure d'incompatibilité de type.
Est-ce que quelqu'un à une aidée sur l'origine de ce bug ?
Je vous remercie d'avance pour votre aide.
Vincent
---------------------
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If CDate(TextBox1.Value) > Feuil11.Range("A" & 1).Value And CDate(TextBox1.Value) < Feuil11.Range("B" & 1).Value Then
Else
MsgBox "Vérifiez si vous avez choisi le bon trimestre"
Me.TextBox1.Text = ""
End If
End Sub