PaliSkill
← Introduction au VBA

Leçon 1 / 9 — Chapitre 4: Interaction, fonctions et automatisation

Interagir avec l'utilisateur : MsgBox et InputBox

Jusqu'ici, tes macros travaillaient avec des valeurs fixées dans le code. Mais une macro vraiment utile doit souvent s'adapter à ce que l'utilisateur veut faire sur le moment. Deux outils permettent ce dialogue : MsgBox pour afficher un message, et InputBox pour demander une information.

MsgBox affiche une boîte de dialogue avec un message :

Sub Alerte()
    MsgBox "La mise en forme du rapport est terminée."
End Sub

On peut aussi lui faire poser une question avec des boutons Oui/Non, et récupérer la réponse :

Sub DemanderConfirmation()
    Dim reponse As VbMsgBoxResult
    reponse = MsgBox("Voulez-vous vider le tableau des ventes ?", vbYesNo)

    If reponse = vbYes Then
        Range("A2:D100").ClearContents
        MsgBox "Tableau vidé."
    Else
        MsgBox "Opération annulée."
    End If
End Sub

InputBox demande une saisie à l'utilisateur et la stocke dans une variable :

Sub SaisirVendeur()
    Dim nomVendeur As String
    nomVendeur = InputBox("Entrez le nom du vendeur du jour :")

    If nomVendeur = "" Then
        MsgBox "Aucun nom saisi, opération annulée."
    Else
        Range("A1").Value = "Rapport de " & nomVendeur
    End If
End Sub

Exemple concret pour un salon de coiffure qui enregistre chaque prestation : au lancement de la macro, InputBox demande le montant encaissé, puis la macro l'ajoute automatiquement à la première ligne vide de la colonne des recettes du jour, et un MsgBox confirme l'ajout.

Un réflexe important : toujours vérifier qu'InputBox n'a pas été laissé vide ou annulé (comme dans l'exemple ci-dessus avec If nomVendeur = ""), sinon la macro risque de continuer avec une information manquante et de provoquer une erreur.

À vous de jouer : écrivez une macro qui demande un prénom avec InputBox, puis affiche avec MsgBox le message "Bienvenue [prénom] dans le tableau de suivi".

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que l'attestation finale.

6 500 XOF / 9,91 € / 10,80 $

Débloquez les 83 leçons restantes de ce module

Pour vous communiquer où envoyer le paiement.

Moyen de paiement souhaité

Nous vous contactons pour le paiement — activé dès réception.