XL 2021 Création 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,
Grâce à plusieurs XLDnautes qui se reconnaîtront (et que je remercie pour leur savoir et leur patience), j'ai pu réaliser un utilitaire pour faire mes courses au Supermarché.
Mais les courses du lundi ne sont pas les même que celles du vendredi. Le vendredi, je dois donc sélectionner les choix effectué le lundi (Effacer le contenu) mais ne surtout pas supprimer ces lignes qui répondent à des requêtes très spécifiques.
Manuellement, ça marche. Je voudrais pouvoir automatiser cet effacement à partir d'un MsgBox. J'ai bien vu quelques propositions très intéressantes dans les forums XLD mais je ne sais ni où ni comment insérer ces ligne de code dans VBE.
Si vous pouvez m'aider, j'en serais très heureux.
Pierre
 

Pièces jointes

Solution
Le problème, c'est ne sais pas où (Module, Worksheet ou autre) copier ta formule. J'ai fait plusieurs essais et je me plante à chaque fois.
C'est pourtant simple et tu sais le faire...
Tu créées un bouton <Effacer> comme tu as créé tes autres boutons:
1686327674265.png

Et sur le nouveau bouton tu affectes une macro (exemple de code en message #2) que tu auras placée dans un module quelconque.
Bonjour @Constantin,

Je comprends pas bien ce que tu veux faire, mais un MsgBox dont on exploite le résultat peut se présetner comme suit:
VB:
Sub a()
    Dim Bouton As Integer
 
    Bouton = MsgBox("Supprimer blablabla..", vbOKCancel + vbQuestion)
    If Bouton = vbCancel Then Exit Sub
 
    'Faire le traitement ici   
    With ActiveSheet.ListObjects("t_ListeCourses")        
        .ListColumns("DETAIL").DataBodyRange.ClearContents
        .ListColumns("QUANTITE").DataBodyRange.ClearContents
        .ListColumns("VALIDATION").DataBodyRange.ClearContents
    End With
End Sub

J'ai utilisé vbOkCancel car c'est le plus standard, mais un vbYesNo est aussi possible en testant le retour à vbNo ou vbYes selon le sens du test.

Voir le détail ici:
 
Dernière édition:
Bonjour @Constantin,

Je comprends pas bien ce que tu veux faire, mais un MsgBox dont on exploite le résultat peut se présetner comme suit:
VB:
Sub a()
    Dim Bouton As Integer
 
    Bouton = MsgBox("Supprimer blablabla..", vbOKCancel + vbQuestion)
    If Bouton = vbCancel Then Exit Sub
 
    'Faire le traitement ici
    '.../...
End Sub

J'ai utilisé vbOkCancel car c'est le plus standard, mais un vbYesNo est aussi possible en testant le retour à vbNo ou vbYes selon le sens du test.

Voir le détail ici:
Bonsoir Dudu2,
Bonjour Dudu2,
CA roule?

Constantin:
Avec ce que j'ai compri. Pour Effacement, voir commentaire cellule G1
 
J'ai corrigé le code du message #2 en supposant que ton tableau est un tableau structuré comme l'était celui du sujet précédent avec les colonnes à effacer (si j'ai bien compris lesquelles) sur la base du tableau de ce sujet qui n'est pas structuré ce qui est à éviter.
 
Bonjour @Constantin,

Je comprends pas bien ce que tu veux faire, mais un MsgBox dont on exploite le résultat peut se présetner comme suit:
VB:
Sub a()
    Dim Bouton As Integer
 
    Bouton = MsgBox("Supprimer blablabla..", vbOKCancel + vbQuestion)
    If Bouton = vbCancel Then Exit Sub
 
    'Faire le traitement ici  
    With ActiveSheet.ListObjects("t_ListeCourses")       
        .ListColumns("DETAIL").DataBodyRange.ClearContents
        .ListColumns("QUANTITE").DataBodyRange.ClearContents
        .ListColumns("VALIDATION").DataBodyRange.ClearContents
    End With
End Sub

J'ai utilisé vbOkCancel car c'est le plus standard, mais un vbYesNo est aussi possible en testant le retour à vbNo ou vbYes selon le sens du test.

Voir le détail ici:
Re...
C'est pourtant simple du point de vue d'un ignorant comme moi... Je veux simplement pouvoir effacer le contenu ma liste de courses sans toucher aux magnifiques formules et menus déroulants que tu as su créer. Le problème, c'est ne sais pas où (Module, Worksheet ou autre) copier ta formule. J'ai fait plusieurs essais et je me plante à chaque fois.
Le fichier "Essai que j'ai mis en pièce jointe est, tu t'en doutes, un ersatz de mon fichier Leclerc.
Le paramètre vbOkCancel me convient bien. En relisant ton code, je me dis qu'il faudra que j'insère 2 lignes pour effacer le contenu des catégories et rayons.
Bien cordialement,
Pierre
 
Le problème, c'est ne sais pas où (Module, Worksheet ou autre) copier ta formule. J'ai fait plusieurs essais et je me plante à chaque fois.
C'est pourtant simple et tu sais le faire...
Tu créées un bouton <Effacer> comme tu as créé tes autres boutons:
1686327674265.png

Et sur le nouveau bouton tu affectes une macro (exemple de code en message #2) que tu auras placée dans un module quelconque.
 
Ça parait simple comme ça...
Je sui vraiment pas doué mais là, j'ai tout compris.
Mille mercis,
Pierre
Re,
Fichier modifie pour ne pas effacer les titres de colonne
J'ai bien reçu ton fichier qui fonctionne très bien et qui rejoint celui-que m'a envoyé Dudu2. J'ai maintenant tous les éléments pour le tester sur mon fichier (dont Dudu2 est un des géniteurs) et je vais essayer de chaîner à cette macro une condition de sauvegarde au cas où je ferais une bêtise, ce qui m'arrive plus souvent qu'à mon tour.
Je pense qu'il faudra que j'insère en amont de la macro qui déclenchera l'effacement des contenus, une macro "safe" avec un nom de fichier de sauvegarde et une destination identifiés. Là, je rentre dans la quatrième dimension 😵
Pierre
 
Promis ! (il était temps avant que je ne fasse des bidouillages)
N'y passe quand même tout ton temps (c'est l'heure de l'apéro 🙂
Rassure-toi, j'ai fais une copie "martyre" pour faire mes essais de bidouillages alias "Aventures incertaines"
Porte-toi bien !
Pierre
 
- 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
10
Affichages
2 K
Retour