Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Message dans cellule si :

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 !

davidp

XLDnaute Occasionnel
Bonjour le forum,

merci d'avance à ceux qui pourront m'aider.


je cherche une macro qui me permettrait d'afficher dans la feuille "test" dans la cellule C2 le texte "merci" à condition qu'une cellule de la plage C5 à C20 (de la même feuille)est pleine .

Bonne journée

Pascal
 
Re : Message dans cellule si :

Bonjour Pascal,

Essaye avec ceci :

code à mettre dans le module de la feuille test.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub 'permet d'effacer la plage sans déclencher la procédure
If Not Application.Intersect(Target, Range("C5:C20")) Is Nothing Then
   If Target <> "" Then Range("C2") = "Merci"
End If
End Sub

A+
 
Re : Message dans cellule si :

Bonjour



J'ai essayé cela


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("C2") = IIf(IsEmpty(Range(Cells(5, 3), Cells(20, 3))), vbNullString, "merci")
End Sub

Ca ne fonctionne qu'une selue fois.

Si quelqu'un peut éclairer ma lanterne


Merci

edit: j'ai essayé le code de bqtr, et il se produit la même chose
Si on saisit une valeur en C5:C20 on a bien merci en C2
mais si on efface la valeur saisie, "merci" reste affiché.

A+


Staple
 
Dernière édition:
Re : Message dans cellule si :

Re

Même ainsi

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub 'permet d'effacer la plage sans déclencher la procédure
Range("C2").Value = _
IIf(Application.Intersect(Target, Range("C5:C20")) Is Nothing, "", "Merci")
End Sub

Même phénomène


Je ne comprends pas pourquoi.
 
Re : Message dans cellule si :

Bonjour à tous,

Peux-tu essayer avec :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count > 1 Then Exit Sub 'permet d'effacer la plage sans déclencher la procédure
If Not Application.Intersect(Target, Range("C5:C20")) Is Nothing Then
   If Target <> "" Then Range("C2") = "Merci"
   If Target = "" Then [C2].ClearContents
End If
End Sub

Edition : Ben non cela ne fonctionne pas non plus...
 
Dernière édition:
Re : Message dans cellule si :

Bonjour,

Il reste un petit problème : s'il y a plusieurs cellules remplies dans la plage C5:C20, la cellule C2 s'efface si l'on en efface une seule ; il me semble qu'elle ne devrait s'effacer qu'à la dernière cellule effacée de la plage C5:C20. Mais ce n'est peut-être pas important dans l'application de Davidp

Cordialement
 
Re : Message dans cellule si :

Re,
Salut Stapple 🙂,

Pourrais-tu refaire un test car, comme je le disais en Edit et confirmé par mécano41 🙂, il me semble que cela ne fonctionne pas vraiment...

Mais ce n'est peut-être pas important dans l'application de Davidp

Ah ben si cela est avéré, tant mieux arf...

A+
 
Re : Message dans cellule si :

Re


mea culpa 😱😡


si saisie en c6 -> merci en C2 (ok ca marche)

si effacement c6 -> merci se "désaffiche" (ok ca marche)


si saisies en C6 et C7 -> merci s'affiche

mais si effacement C7, alors merci reste désaffiché (pas glop ne marche pas)
 
Re : Message dans cellule si :

Re,

Il est bien de battre sa coulpe, mais il serait plus intéressant de trouver le code qui va bien (je continue à chercher...).

Si tu étais sur un autre Forum, tu aurais 100 Meuh! de gage arf

A++
 
Re : Message dans cellule si :

Peut-être pas très élégant mais cela a l'air de fonctionner :


Private Sub Worksheet_Change(ByVal Target As Range)
If WorksheetFunction.CountA(Range("C5:C20")) <> 0 Then
Range("C2") = "merci"
Else
Range("C2") = ""
End If
End Sub

Cordialement
 
- 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
13
Affichages
338
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…