Double If sur 2 cellules differentes Private Sub Worksheet_Change

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 !

kerlannais

XLDnaute Junior
Bonjour à tous,

J'ai fait un beau script pour ouvrir un userform lorsque je complete une case avec le code suivant:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim derLign As Long

derLign = Range("M10000").End(xlUp).Row

If Not Intersect(Target, Range("M3:M" & derLign)) Is Nothing Then
If Target = "oui" Or Target = "non" Then
UserForm1.Show
End If
End If


End Sub

Sauf que j ai essayé de rajouter les lignes suivantes pour faire la meme chose avec une autre cellule et ca ne fonctionne pas:

If Not Intersect(Target, Range("H3:H" & derLign)) Is Nothing Then
If Target = "rouge" Then
UserForm4.Show
End If
End If


Pouvez vous m'aider?

merci beaucoup
 
Re : Double If sur 2 cellules differentes Private Sub Worksheet_Change

Bonjour,
Normalement ça devrait marcher. Toutefois, tu utilises derlign dans les deux cas et peut-être que la dernière ligne de la colonne M est inférieur à la dernière ligne de la colonne H
Utilise une variable propre pour la colonne H

Private Sub Worksheet_Change(ByVal Target As Range)

Dim derLign As Long

derLign = Range("M10000").End(xlUp).Row
derL = Range("H10000").End(xlUp).Row
If Not Intersect(Target, Range("M3:M" & derLign)) Is Nothing Then
If Target = "oui" Or Target = "non" Then
UserForm1.Show

End If
End If

If Not Intersect(Target, Range("H3:H" & derL)) Is Nothing Then
If Target = "rouge" Then
UserForm4.Show

End If
End If
End Sub
 
Re : Double If sur 2 cellules differentes Private Sub Worksheet_Change

Voici le fichier pour vous aider:

la partie interim marche mais la colonne validation si je mets "non" ca n'ouvre pas le userform

Merci
 

Pièces jointes

Re : Double If sur 2 cellules differentes Private Sub Worksheet_Change

Re,

Attention : dans la procédure , Non est écrit en majuscule et dans la feuille en minuscule
Et comme je te le disais, définir 2 variables pour la dernière ligne de la colonne M et de la colonne H

Private Sub Worksheet_Change(ByVal Target As Range)

Dim derLign As Long

derLign = Range("H10000").End(xlUp).Row
derL = Range("M10000").End(xlUp).Row
If Not Intersect(Target, Range("H3:H" & derLign)) Is Nothing Then
If Target = "interim" Then
UserForm1.Show
Exit Sub
End If
End If

If Not Intersect(Target, Range("M3:M" & derL)) Is Nothing Then
If Target = "Non" Then
UserForm2.Show

End If
End If
End Sub
 
Re : Double If sur 2 cellules differentes Private Sub Worksheet_Change

salut

pour comparer minuscules/majuscules, une instruction en début de code : Option Compare Text.
Code:
Option Compare Text
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim derLign As Long
  derLign = Range("H10000").End(xlUp).Row
  If Not Intersect(Target, Range("H3:H" & derLign)) Is Nothing Then
    If Target = "interim" Then UserForm1.Show
  End If
  derLign = Range("M10000").End(xlUp).Row
  If Not Intersect(Target, Range("M3:M" & derLign)) Is Nothing Then
    If Target = "Non" Then UserForm2.Show
  End If
End Sub
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
523
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
329
Réponses
2
Affichages
161
Réponses
4
Affichages
233
Réponses
1
Affichages
350
Retour