XL 2016 Message box identique sur plusieurs cellules

  • Initiateur de la discussion Initiateur de la discussion RoseP
  • Date de début Date de début

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 !

RoseP

XLDnaute Nouveau
Bonjour à tous,

Je souhaite qu'une fenêtre s'affiche à l'écran avec un bouton "ok" lorsque l'on écrit quelques choses dans une cellule,
Un tableau sera probablement plus parlant... :
AB
test1
test2

Souhait : un message box s'affiche lorsque l'on écrit dans les lignes de la colonne B.

J'avais commencé ma macro avec le code suivant :
VB:
Sub mess()
'texte directement introduit dans le code
MsgBox "Merci de préciser la raison dans les commentaires"
End Sub

Mais je ne parviens pas à la liée aux cellules...

Je vous remercie par avance pour votre aide.

Bonne journée
 
Solution
Bonjour le forum
Bonjour RoseP

Essaie ceci :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then
If Target.Value <> "" Then
MsgBox "Merci de préciser la raison dans les commentaires"
End If
End If
End Sub
Bonne journée
@+ Eric c
Bonjour le forum
Bonjour RoseP

Essaie ceci :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then
If Target.Value <> "" Then
MsgBox "Merci de préciser la raison dans les commentaires"
End If
End If
End Sub
Bonne journée
@+ Eric c
 

Pièces jointes

Bonjour le forum
Bonjour RoseP

Essaie ceci :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then
If Target.Value <> "" Then
MsgBox "Merci de préciser la raison dans les commentaires"
End If
End If
End Sub
Bonne journée
@+ Eric c
Bonjour @Eric C , merci de votre réponse, c'est effectivement ce que je cherche à réaliser.
Est-il possible de m'expliquer comment vous avez réaliser cela ? car je ne parviens pas à l'intégrer à mon fichier.
Merci par avance 🙂

Bonne journée!
 
Re le fil

Commentaires dans le code - Il n'est pas évident de répondre à la demande sans fichier anonymisé joint
VB:
Private Sub Worksheet_Change(ByVal Target As Range)            
'C'est une macro événementielle qui réagit chaque fois qu'on modifie une cellule dans la feuille
If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then
   'Condition 1) On veut une action quand on Clique n'importe où dans la colonne "B" uniquement
If Target.Value <> "" Then                                          
'Condition 2) Si on entre une valeur dans la cellule (cellule n'est pas "vide") alors, à la sortie
MsgBox "Merci de préciser la raison dans les commentaires"          
 'le message apparaît
End If  
'Fin de condition
End If
'Idem
End Sub
'Fin de procédure
Bonne journée
@+ Eric c
 
j'ai mis du temps mais j'ai fini par comprendre... (je suis encore très novice en VBA... mais j'ai la volonté de vouloir réussir!)

maintenant que j'ai compris exactement ce que vous me disiez; si je souhaitais faire apparaitre ce message box entre B1 et B6, ainsi que sur B10 jusqu'à B15,
comment puis-je le faire?

Merci @Eric C
 
Re le fil
Voici le code :
VB:
If Not Application.Intersect(Target, Range("B1:B6, B10:B15")) Is Nothing Then

Cela fait toujours plaisir de savoir que la contribution a aidé (ou pas).
N'hésitez pas à marquer le sujet comme solutionné le cas échéant (à droite du post) ou à liker.


Bonne après-midi à toutes & à tous

@+ Eric c
 
- 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

Réponses
22
Affichages
3 K
Retour