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,
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,