Changer de feuille selon une valeur
Bonjour
Je souhaiterais créer la macro qui permet d'aller sur une autre feuille 2 si la réponse à une question en feuille1 = oui
Le début fonctionne (vide ou non) mais pour la réponse oui (aller en feuille 2) , ça bloque
Quelqu'un aurait-il une idée ?
merci
Chvalet
Private Sub worksheet_change(ByVal target As Range)
If Not Application.Intersect(target, Range("C6")) Is Nothing Then
If target.Value = "" Then
MsgBox "il faut répondre soit oui soit non"
End If
If target.Value = "non" Then 'si la réponse= "non" alors
MsgBox "Pourtant l'aviron indoor c'est super!!!" 'ouvrir la box et le texte
If Range("c2").Value = "oui" Then ' si la cellule ="oui"
Sheets("feuil2").Select
Range("B2").Select
End If
End If
End If
End Sub
Bonsoir,
apprenez à indenter votre code, et ensuite vérifiez les références de vos cellules lors des tests et ensuite la correspondance du nom des feuilles !
En effet, pas de "Feuil2" dans votre classeur, mais une feuille "q1b".
Ensuite target est en C6 et vous testez le "oui" en C2...
Avec l'instruction IF vous avez également le ElseIf qui permet de faire des tests en série.
Le code avec l'indentation :
Private Sub worksheet_change(ByVal target As Range)
If Not Application.Intersect(target, Range("C6")) Is Nothing Then
' premier test si
If target.Value = "" Then
MsgBox "il faut répondre soit oui soit non"
' deuxième test du type sinon si
ElseIf target.Value = "non" Then 'si la réponse= "non" alors
MsgBox "Pourtant l'aviron indoor c'est super!!!" 'ouvrir la box et le texte
' si aucun des deux alors (vu qu'il n'y a que trois choix dans votre liste...)
Else target.Value = "oui" Then ' si la cellule ="oui"
Sheets("q1b").Activate
Sheets("q1b").Range("B2").Select
End If
End If
End Sub
Le fichier :
@ bientôt
LouReeD
Bonjour CHVALET, le forum,
Hello LouReeD ,
Une autre possibilité avec Select Case....
Private Sub worksheet_change(ByVal target As Range)
If Not Application.Intersect(target, Range("C6")) Is Nothing Then
cancel = True
Select Case UCase(target.Value)
Case "NON": MsgBox "Pourtant l'aviron indoor c'est super!!!", vbInformation
Case "OUI"
With Sheets("q1b")
.Activate
.Range("B2").Select
End With
Case Else: MsgBox "Il faut répondre soit oui soit non", vbExclamation
End Select
End If
End Sub
Cordialement,