A voir également:
- EXCEL VBA Problème condition + Msgbox
- Excel cellule couleur si condition texte - Guide
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
7 réponses
Bonjour,
Une autre solution toute simple, tu peux utiliser l'option "validation des données" que tu obtiens en faisant données/validation.
Ainsi tu peux choisir des critères de validation et faire apparaître des messages d'erreurs.
Pas besoin de macro quand Excel a des programmes déjà installés ! ;)
Une autre solution toute simple, tu peux utiliser l'option "validation des données" que tu obtiens en faisant données/validation.
Ainsi tu peux choisir des critères de validation et faire apparaître des messages d'erreurs.
Pas besoin de macro quand Excel a des programmes déjà installés ! ;)
tuxboy
Messages postés
995
Date d'inscription
lundi 23 juillet 2012
Statut
Membre
Dernière intervention
28 mai 2019
190
25 juil. 2012 à 11:22
25 juil. 2012 à 11:22
Bonjour,
Je crains fort que ton problème se complique lorsqu'il s'agit de bien déterminer le bon "évènement".
Quand appelles-tu ta fonction ?
Je crains fort que ton problème se complique lorsqu'il s'agit de bien déterminer le bon "évènement".
Quand appelles-tu ta fonction ?
Bonjour tuxboy,
Alors si par "appeller" tu entends quand est-ce que je veux qu'elle apparraisse et bien j'aimerais que le Msg box viennent quand le chiffre entré dans la cellule b19 (qui est le résultat d'une somme) n'est pas égal à la cellule b9 (qui est également le résultat d'une autre somme). Les deux sommes devant être égal, je voudrais qu'un message "interpelle" l'utilisateur si ce n'est pas le cas.
J'espère être clair ?!?
Merci pour ta réponse !
Alors si par "appeller" tu entends quand est-ce que je veux qu'elle apparraisse et bien j'aimerais que le Msg box viennent quand le chiffre entré dans la cellule b19 (qui est le résultat d'une somme) n'est pas égal à la cellule b9 (qui est également le résultat d'une autre somme). Les deux sommes devant être égal, je voudrais qu'un message "interpelle" l'utilisateur si ce n'est pas le cas.
J'espère être clair ?!?
Merci pour ta réponse !
tuxboy
Messages postés
995
Date d'inscription
lundi 23 juillet 2012
Statut
Membre
Dernière intervention
28 mai 2019
190
25 juil. 2012 à 12:50
25 juil. 2012 à 12:50
Modifie alors la "Sub Worksheet_Change" existante ainsi :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B19").Address Then
If Target.Value <> Range("B9").Cells.Value Then
MsgBox "Numbers of customers must be equal! ... Logical Right?", , "Error"
End If
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("B19").Address Then
If Target.Value <> Range("B9").Cells.Value Then
MsgBox "Numbers of customers must be equal! ... Logical Right?", , "Error"
End If
End If
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci!
Alors j'ai essayé ta solution mais malheureusement rien ne se produit.... Par contre j'ai trouvé une solution qui fonctionne presque. La voici:
Private Sub Worksheet_Calculate()
If [B9] <> [B19] Then MsgBox "Numbers of customers must be equal! ... Logical Right?", vbOKOnly, "Error"
End Sub
Le problème qui est apparu maintenant c'est que le message apparait à chaque étape de la somme (à chaque fois qu'une cellule faisant partie du calcul est remplie) alors que je souhaiterais que le message n'apparaisse qu'une seule fois à la fin des calculs si les SOMMES ne sont pas égales...
Alors j'ai essayé ta solution mais malheureusement rien ne se produit.... Par contre j'ai trouvé une solution qui fonctionne presque. La voici:
Private Sub Worksheet_Calculate()
If [B9] <> [B19] Then MsgBox "Numbers of customers must be equal! ... Logical Right?", vbOKOnly, "Error"
End Sub
Le problème qui est apparu maintenant c'est que le message apparait à chaque étape de la somme (à chaque fois qu'une cellule faisant partie du calcul est remplie) alors que je souhaiterais que le message n'apparaisse qu'une seule fois à la fin des calculs si les SOMMES ne sont pas égales...
tuxboy
Messages postés
995
Date d'inscription
lundi 23 juillet 2012
Statut
Membre
Dernière intervention
28 mai 2019
190
25 juil. 2012 à 13:24
25 juil. 2012 à 13:24
Tu es sur la bonne voie... En combinant ta solution à la mienne, tu devrais y arriver... car le bon évènement, c'est "Change" et non "Calculate"
Courage tu y es presque !
Courage tu y es presque !
Haaa voilà!!
Alors selon tes conseils j'ai triffouillé par ci par la en utilisant "Change" et non "Calculate". J'ai malheureusement pas réussi à contrer le problème évoqué dans mon dernier post et j'en suis resté la:
Private Sub Worksheet_Change(ByVal Target As Range)
If [B9] <> [B19] Then MsgBox "Numbers of customers must be equal! ... Logical Right?", vbOKOnly, "Error"
End Sub
Du coup j'avoue que je suis bloqué parceque clairement mes connaissances sont pas au top!
Si tu avais une solution ca me dépannerait sévèrement! :)
Mais en tout cas merci bcp pour ton aide jusqu'a maintenant!
Alors selon tes conseils j'ai triffouillé par ci par la en utilisant "Change" et non "Calculate". J'ai malheureusement pas réussi à contrer le problème évoqué dans mon dernier post et j'en suis resté la:
Private Sub Worksheet_Change(ByVal Target As Range)
If [B9] <> [B19] Then MsgBox "Numbers of customers must be equal! ... Logical Right?", vbOKOnly, "Error"
End Sub
Du coup j'avoue que je suis bloqué parceque clairement mes connaissances sont pas au top!
Si tu avais une solution ca me dépannerait sévèrement! :)
Mais en tout cas merci bcp pour ton aide jusqu'a maintenant!
25 juil. 2012 à 15:07
Mais malheureusement j'ai l'impression que ca marche uniquement quand on rentre les données dans la cellule directement. Comme il s'agit d'un calcul (en l'occurrence d'une somme), lorsque j'entre les données du calculs la cellule agit normalement et aucun message n'apparait...