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

M

micky

Guest
BONJOUR,

j'ai recopié une macro évenementielle d'un génie d'ici qui marche bien :

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("E4")) Is Nothing Then: Exit Sub
If Target = "mm" Then
Range("D8😀9") = 8
Else
Range("D8😀9") = 45
End If

End Sub

Dans ma lancée, j'ai voulu en créer une autre en-dessous avec d'autres cellules de la même feuille:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("E4")) Is Nothing Then: Exit Sub
If Target = "mm" Then
Range("D8😀9") = 8
Else
Range("D8😀9") = 45
End If

End Sub
________________________________________________
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("q4")) Is Nothing Then: Exit Sub
If Target = "mm" Then
Range("p8😛9") = 8
Else
Range("p8😛9") = 45
End If

End Sub


mais excel me dit qu'il y a "erreur de compilation, nom ambigû détecté worksheet_change"
qqun peut-il me donner la soluc, mercii
 
Bonjour micky et le Forum

A mon avis micky c'est normal tu peux pas mettre deux fois le même événement sur la même feuille, si tu veux selectionner la cellule E4 et Q4 uniquement essaie ce code.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("E4,q4")) Is Nothing Then: Exit Sub
If Target = "mm" Then
Range("D8😀9") = 8
Else
Range("D8😀9") = 45
End If
End Sub
.

@+ Salim
 
Re micky et el Forum

J'avais pas vu P8😛9 alors tu peux essayer ce code qui devrait fonctionner les cellules changes simultanément.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("E4,q4")) Is Nothing Then: Exit Sub
If Target = "mm" Then
Range("D8😀9") = 8: Range("p8😛9") = 8
Else
Range("D8😀9") = 45: Range("p8😛9") = 45
End If
End Sub


@+ Salim
 
merci salim mais je veux que E4 n'est une action QUE sur d8 et d9 et que q4 n'est une action QUE sur p8 et p9 or ce que tu m'as envoyé qd je change e4, ça a aussi une incidence sur p8 et p9 et qd je change q4 ça a aussi une incidence sur d8 et d9...mercii
 
Bonjour,

Tous simplement comme cela:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$Q$4" Then Exit Sub
If Target = "mm" Then
Range("p8😛9") = 8
Else
Range("p8😛9") = 45
End If

If Target.Address <> "$E$4" Then Exit Sub
If Target = "mm" Then
Range("D8😀9") = 8
Else
Range("D8😀9") = 45
End If
End Sub


Bonne soirée

@Christophe@
 
Re,

Voici le code qui marche:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$Q$4" Then
If Target = "mm" Then
Range("P8😛9") = 8
Else
Range("P8😛9") = 45
End If
End If

If Target.Address = "$E$4" Then
If Target = "mm" Then
Range("D8😀9") = 8
Else
Range("D8😀9") = 45
End If
End If
End Sub


Bonne soirée

@Christophe@
 
- 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
406
Réponses
4
Affichages
409
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
448
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
14
Affichages
333
Retour