XL 2013 Private Sub Worksheet_Change

  • Initiateur de la discussion Initiateur de la discussion yoda60
  • 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 !

yoda60

XLDnaute Nouveau
bonjour,

j'ai essayé de faire une macro évènementielle sur trois cellules différentes de la même feuille , mais la macro plante.
Ces trois cellules doivent être indépendantes et appeler chacune une macro différente si on met ok.
En espérant être clair , merci d'avance.

cdt

VB:
Private Sub Worksheet_Change(ByVal Target As Range)

 
   On Error Resume Next
    
    
    If Not Application.Intersect(Target, Range("B47")) Is Nothing Then
        If Target.Value = "OK" Then
        Call ok0
        
        End If
  
  
   End If
  

    If Not Application.Intersect(Target, Range("D47")) Is Nothing Then
        If Target.Value = "OK" Then
          
            Call ok1
      End If
   End If
    
    
    
    If Not Application.Intersect(Target, Range("F47")) Is Nothing Then
        If Target.Value = "OK" Then
        Call ok2
        
        End If
   End If
 
Solution
Bonjour Yoda,
Un petit fichier test aurait été le bienvenu.
Un essai en PJ avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [B47]) Is Nothing And LCase(Target) = "ok" Then OK0
    If Not Intersect(Target, [D47]) Is Nothing And LCase(Target) = "ok" Then OK1
    If Not Intersect(Target, [F47]) Is Nothing And LCase(Target) = "ok" Then OK2
End Sub
Le Lcase permet de détecter ok, OK, Ok ...
Bonjour Yoda,
Un petit fichier test aurait été le bienvenu.
Un essai en PJ avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [B47]) Is Nothing And LCase(Target) = "ok" Then OK0
    If Not Intersect(Target, [D47]) Is Nothing And LCase(Target) = "ok" Then OK1
    If Not Intersect(Target, [F47]) Is Nothing And LCase(Target) = "ok" Then OK2
End Sub
Le Lcase permet de détecter ok, OK, Ok ...
 

Pièces jointes

- 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

Discussions similaires

Réponses
9
Affichages
265
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
545
Réponses
4
Affichages
237
Réponses
14
Affichages
255
Réponses
2
Affichages
166
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
334
Retour