Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro Evenementielle

  • Initiateur de la discussion Initiateur de la discussion Chartchai
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

Chartchai

Guest
Bonjour,

Après avoir cherché dans le forum, j'ai trouvé la manière théorique de mettre en place une macro évènementielle. Problème : je n'arrive pas à la faire fonctionner 🙁

Ci dessous un petit code qui devrait faire apparaître une box nok si on ecrit non dans la cellule c3 et ok si on ecrit oui.

Pourriez-vous m'éclairer sur ce mystère ?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Address = "$C$3" Then
             If Target.Value = "OUI" Then Call ok
             If Target.Value = "NON" Then Call nok
     End If
End Sub

Sub nok()

MsgBox ("nok")

End Sub

Sub ok()

MsgBox ("ok")

End Sub
 
Dernière modification par un modérateur:
Re : Macro Evenementielle

Salut Chartchai,

ça coince peut-être parce que tu as deux fois de suite la ligne suivante
Code:
Private Sub Worksheet_Change(ByVal Cellule As Range)
 
Re : Macro Evenementielle

Re,

S'il s'agit d'une erreur de recopie, une autre idée :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Address = "$C$3" Then
             If Ucase(Target.Value) = "OUI" Then Call ok
             If Ucase(Target.Value) = "NON" Then Call nok
     End If
End Sub
Cordialement
 
Re : Macro Evenementielle

Il s'agissait effectivement d'une faute de copie.
Merci Spitnolan08, mais ca marche pas 🙁
J'ai du mal à voir d'où ça vient 🙁🙁🙁
 
Re : Macro Evenementielle

En fait, le code fonctionne, mais ...

Cela vient du fait que ma feuille est alimentée par l'extérieur et la cellule se met automatiquement à oui ou non. Dans ce cas là, ça ne fonctionne pas. Si je modifie la case à la main, alors la macro se déclenche.

Auriez-vous une idée pour que ça fonctionne y compris en cas d'une alimentation automatique ?

merci d'avance pour vos idées 🙂
 
Re : Macro Evenementielle

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Target.Address = "$C$3" Then
        
        If Target.Value = "OUI" Then
        Call ok
        
        ElseIf Target.Value = "NON" Then
        Call nok
        End If
        
     End If
     
End Sub

Attention, ce code est sensible à la casse. Tu dois écrire "OUI" ou "NON" dans la case C3.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
508
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
358
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
4
Affichages
586
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…