XL 2021 Mise en forme MsgBox

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 !

Constantin

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous,
J'essaye en vain de pouvoir "améliorer" mes MsgBox. Sujet déjà évoqué sur XLD mais solutions que je n'arrive pas à comprendre (je sais, je ne suis pas bon...)
J'aimerai donc, à minima, pouvoir mettre en gras certaines informations de mes MsgBox. Il faudrait passer par des UserForms...
En gros, pour aller chercher ma baguette à 50 mètres de chez moi, il faudrait que je passe par New York ?
J'ai fait toutes les recherches sur le Web pour résoudre ce problème. La solution présentée sur XLD est bien appétissante mais je n'y arrive pas (je ne maitrise pas du tout les UserForms)...
Au cazou, je vous joint un fichier anonymisé et les messages (codes) que je voudrais voir apparaître autrement (en gras ou en rouge ou les deux...).

Sub Macro2()
Call SauvegardeAutomatique
Dim L%, Rep$, Ligne%, DL%, Nom$, Prénom$
On Error GoTo FinR
With Sheets("base de données")
L = Selection.Row ' Ligne sélectionnée
Nom = Cells(L, "K"): Prénom = Cells(L, "L")
If Nom = "" Or Prénom = "" Then MsgBox "Sélectionnez un nom valide en colonne Nom de la feuille departs.": Exit Sub ' Verif si ligne valide
Rep = MsgBox("Voulez vous effacer les données " & L & " concernant " & Nom & " " & Prénom & " ?" & _
Chr(10) & "Dans la base de données.", vbExclamation + vbYesNo, "Demande de confirmation.")
If Rep = vbNo Then Exit Sub
DL = .Cells(Rows.Count, "E").End(xlUp).Row ' recherche dernière ligne des noms dans base de données
Application.EnableEvents = False
For Ligne = 4 To DL ' on parcourt toutes les lignes
If .Cells(Ligne, "E") = Nom And .Cells(Ligne, "F") = Prénom Then ' si Nom et Prénom trouvés, on efface
Range(.Cells(Ligne, "E"), .Cells(Ligne, "AA")).ClearContents
Application.EnableEvents = True
Exit Sub
End If
Next Ligne
End With
FinR:
Application.EnableEvents = True
MsgBox "Ligne sélectionnée effacée ", vbOKOnly + vbInformation, "Pour information"
End Sub
Bien cordialement,
 

Pièces jointes

Bonjour Constantin,
Non, on ne peut changer la couleur d'un texte au sein d'un msgbox.
Pour cela il faut passer par un userform, mais c'est plus compliqué qu'un simple msgbox.
Je vais vous faire une démo dans votre fichier.
 
Bonjour Constantin,
Non, on ne peut changer la couleur d'un texte au sein d'un msgbox.
Pour cela il faut passer par un userform, mais c'est plus compliqué qu'un simple msgbox.
Je vais vous faire une démo dans votre fichier.
Re...
Alors ça, j'en serais ravi ! Et je mourrais moins bête ce soir (je suis là-dessus depuis 6 heures du matin.
Cordialement,
Pierre
 
Re,
Un ex en PJ.
C'est plus complexe qu'un Msgbox.
1- il faut créer et construire son userform :
1771599494115.png

2- Mettre le code sur les deux boutons :
VB:
Private Sub CommandButton1_Click()
Rep = vbNo
Unload Confirmation
End Sub
Private Sub CommandButton2_Click()
Rep = vbYes
Unload Confirmation
End Sub
3- Modifier la macro en conséquence :
Code:
Public Rep$
Sub Macro1()
Dim L%, DL%
L = Selection.Row                                                               ' Ligne sélectionnée
Confirmation.Label2.Caption = "Voulez vous exporter la ligne " & L & " concernant " & Cells(L, "E") & " " & Cells(L, "F") & " ?"
Confirmation.Show
If Rep = vbNo Then Exit Sub
With Sheets("départs")
    DL = 1 + .Cells(Rows.Count, "G").End(xlUp).Row                              ' Première ligne vide
    .Range(.Cells(DL, "G"), .Cells(DL, "S")) = Range("A" & L & ":M" & L).Value  ' Copie des valeurs
End With
Sheets("départs").Select
Cells(DL, "G").Select
End Sub

Ce qui donne :
1771599606353.png


Mais est ce que ça vaut le coup de faire cette complication si vous maitriser mal le VBA par rapport à un msgbox classique ?
 

Pièces jointes

Vous êtes un sage ! Mais à 71 ans, j'ai toujours à apprendre et comprendre... Et en plus, j'aime ça... Je vais donc éplucher avec soin vos recommandations, codes et le fichier joint pour me faire une idée.
Merci infiniment de votre patience et de votre science. Vous ne m’enlèverez pas de la tête que Microsoft se fiche de la tête du monde ! (j'ai restreint mon vocabulaire volontairement).
Ma soirée va être bien remplie et j'espère que la votre ne sera pas trop interrompue par des Zombies comme moi,
Bien cordialement,
 
Alors ça, j'adore... Je choisirai sans doute d'autres couleurs mais je trouve ça super !
Question : Quand j'affiche l'Userform, je vois un label 2 qui, à première vue, ne sert à rien.
Mon Dieu, que faire ? Le supprimer ? Dieu n'a pas aimé... Il est vrai que ce Label2 figure dans la (ou les) macros...
Bon, en tous les cas, c'est promis le Zombie de la Mayenne vous laisse prendre l'apéritif en paix.
Merci encore, moi, je ne suis pas couché (je vais prendre des vitamines pour les boyaux de la tête) et ma femme va encore me dire que je me couche trop tard !
Mille merci !
 
"Label 2" est le nom d'un objet texte. Le contenu est actualisé dans la macro avec Confirmation.label2.caution. c'est cette ligne qui donne le contenu.
Avant d'attaquer le code de votre fichier, regardez les deux liens du post 2, c'est bien mieux expliqué que je ne pourrait le faire.
 
Avant de vous souhaiter une bonne soirée,
J'ai bien sûr parcouru avec attention ces deux liens. Demain, parce que "à chaque jour suffit sa peine" (comme si s'en était une), je vais plonger dedans. Ce que je ne comprends pas c'est que les MsgBox ont été remplacés (et je ne sais pas comment m'en rendre compte dans le code) par autre chose que je ne saisis pas.
Bon, maintenant, je vais me tourner vers les fourneaux de ma cuisine (autre passion)
Bonne soirée (c'est fait!)
 
Bonsoir Sylvanu,
Je suis trop nul (impossible de comprendre votre cheminement). J'aurais bien voulu créer un deuxième User Form pour la feuille base de données mais je n'y arrive pas...
Je vais donc me contenter de l'affichage de base.
Bonne nuit !!!!
 
- 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
4
Affichages
631
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
432
Réponses
5
Affichages
839
Réponses
2
Affichages
483
Retour