En fait mon problème c'est que lorsque je lance manuellement le code cela fonctionne mais lorsque je supprime la valeur dans la cellule B2, il ne se passe rien.
Private Sub Worksheet_SelectionChange()
If Range("B2").Value = "" Then
Range("A1").Select
Range("B2").Select
End If
End Sub
Merci pour ton retour mais là ou le bas blesse c'est pour activer cette commande lorsque je supprime la valeur dans la cellule dans Excel, il ne se passe rien.
Je supprime cette valeur et aucune action ne se passe or moi j'aimerais bien que dès que je supprime la valeur, il sélectionne une autre cellule et ce replace sur A1 afin d'avoir toujours ce message d'afficher.
En fait mon problème c'est que lorsque je lance manuellement le code cela fonctionne mais lorsque je supprime la valeur dans la cellule B2, il ne se passe rien.
Private Sub Worksheet_SelectionChange()
If Range("B2").Value = "" Then
Range("A1").Select
Range("B2").Select
End If
End Sub
Merci
L'exposé du problème était incomplet !
Quelle est ton intention dans ce code ?
Comme dit Patrick, il faut éviter les cellules fusionnées.
Je vous ai joint un fichier et comme indiqué, j'aimerais bien que lorsqu'on supprime la valeur dans la cellule, il y a une sélection sur une autre cellule pour remettre la valeur dans la cellule de départ.
En fait c'est au cas où un utilisateur supprime la valeur dans la cellule c'est pour la remettre automatiquement.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("A1")) Is Nothing Then
Application.EnableEvents = False
Me.Range("A1") = "Est-il possible de m'aider ?"
Application.EnableEvents = True
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("A1")) Is Nothing Then
Application.EnableEvents = False
Me.Range("A1") = "Est-il possible de m'aider ?"
Application.EnableEvents = True
End If
End Sub
Cordialement.
Merci beaucoup, cela fonctionne très bien, même trop bien ^^
Je viens de créer une liste déroulante dans la cellule A1 pour sélectionner des valeurs mais je ne peux plus y accéder.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("A1")) Is Nothing Then
If Me.Range("A1") = "" Then
Application.Undo
End If
End If
End Sub
Mais fais en sorte qu'il y ait quelque chose avant de la mettre...