Microsoft 365 Forcer l'utilisateur à remplir une cellule si sa voisine est non vide

nellfan

XLDnaute Nouveau
Bonjour à tous,

J'ai un fichier excel qui contient un questionnaire. J'aimerai que l'utilisateur remplisse la cellule G2 ( ajoute un commentaire) si la cellule D2 est non vide ( c'est une liste déroulante). j'ai essayer quelques macros trouvées sur ce forum mais malheureusement aucune d'elles ne résout mon problème.
Veuillez trouver ci-joint, un fichier pour mieux vous aidez à comprendre.
Merci d'avance pour votre aide.
 

Pièces jointes

  • test.xlsx
    18.4 KB · Affichages: 9

Eric C

XLDnaute Barbatruc
Bonsoir le forum
Bonsoir nellfan

Peut être que ceci t'aidera :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)

  If Not Intersect(Target, Range("D2")) Is Nothing Then

   MsgBox ("Attention, veuillez ajouter un commentaire dans la cellule de droite.... Merci")

     End If

End Sub
Bonne soirée à toutes & à tous
@+ Eric c
 

Victor21

XLDnaute Barbatruc
Bonsoir nellfan, Eric :)

Sans VBA, avec la validation de données :
1568137085496.png
 

Pièces jointes

  • Nell.xlsx
    54.9 KB · Affichages: 6

nellfan

XLDnaute Nouveau
Bonsoir le forum
Bonsoir nellfan

Peut être que ceci t'aidera :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)

  If Not Intersect(Target, Range("D2")) Is Nothing Then

   MsgBox ("Attention, veuillez ajouter un commentaire dans la cellule de droite.... Merci")

     End If

End Sub
Bonne soirée à toutes & à tous
@+ Eric c

Bonjour Eric,
Merci beaucoup pour votre aide.
Votre macro fonctionne bien et j'ai déjà écrit une macro similaire mais moi j'aimerai forcer l'utilisateur à remplir la cellule G2, c'est à dire, que le curseur revient à la cellule G2 si celle ci est toujours vide. Avec votre réponse, l'utilisateur peut continuer si il ferme le message d'erreur. C'est dans cette partie là que je coince un peu. Désolée de ne pas avoir été plus précise.
Merci encore pour votre aide.
NellFan
 

Eric C

XLDnaute Barbatruc
Bonjour le forum
Bonjour nellfan, bonjour Victor21

Essaie ceci (sur une idée de DoubleZéro) et entre le ponçage de 2 portes..Lol :
VB:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Range("D2") <> "" And Range("G2") = "" Then Range("G2").Select
End Sub
Private Sub Worksheet_Change(ByVal c As Range)
    If c.Address = "$D$2" Then c.Offset(, 1) = ""
End Sub
Bonne journée à toutes & à tous
@+Eric c
 

Statistiques des forums

Discussions
312 195
Messages
2 086 082
Membres
103 113
dernier inscrit
jlaussenac