Double If sur 2 cellules differentes Private Sub Worksheet_Change

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
 

CHALET53

XLDnaute Barbatruc
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
 

kerlannais

XLDnaute Junior
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

  • Fichier kerlannais.xls
    70 KB · Affichages: 37
  • Fichier kerlannais.xls
    70 KB · Affichages: 36
  • Fichier kerlannais.xls
    70 KB · Affichages: 43

CHALET53

XLDnaute Barbatruc
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
 

Si...

XLDnaute Barbatruc
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
 

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 067
Membres
104 015
dernier inscrit
kkgk