Macro manuel
Macro saisie à la main en VBA
Nouvelle procédure
Ecrire une macro - une procédure - dans l'éditeur VBA (Alt + F11). Si pas de module, menu Insertion > Module
Sub message()
MsgBox "Bienvenue dans l'éditeur VBA", vbInformation, "Accueil"
End Sub
MsgBox "Bienvenue dans l'éditeur VBA", vbInformation, "Accueil"
End Sub
Pour écrire MsgBox, utilisez Ctrl + espace (pour la complexion automatique).
Pour valider : touche TAB et pas Entrée.
Pour faire apparaître les détails (méthodes ou propriétées) on tape un point.
Syntaxe de la fonction MsgBox
Ancienne syntaxe:
MsgBox "message", icônes et/ou boutons, "titre"
Nouvelle syntaxe (avec syntaxe des arguments nommés):
MsgBox Prompt:="coucou",Title:="Message", Buttons:=vbExclamation
Le paramètre "Buttons" accepte la somme des valeurs de constantes (vbExclamation + vbYesNo)
Autre exemple (utilisez la complexion automatique avec Ctrl+espace)
Sub NousQuitter() If MsgBox("Voulez-vous quitter l'application ?", vbQuestion + vbYesNo) = vbYes Then ActiveWorkbook.SaveAs "C:\Temp\MonFichier.xls" ActiveWorkbook.Close 'ou bien Application.Quit End If End Sub
Application représente le cadre principal d'Excel,
Workbook le classeur,
Worksheet la feuille de calcul,
Workchart la (feuille de) graphique,
Sheet la feuille (calcul ou graphique) et
Cell la cellule.
Autre syntaxe (même procédure Sub mais avec mise en facteur avec boucle With)
Sub NousQuitter()
If MsgBox("Voulez-vous quitter l'application ?", _
vbQuestion + vbYesNo) = vbYes Then
With ActiveWorkbook
.SaveAs "C:\Temp\MonFichier.xls"
.Close
End With
End If
End Sub
Sub NousQuitter()
If MsgBox("Voulez-vous quitter l'application ?", _
vbQuestion + vbYesNo) = vbYes Then
With ActiveWorkbook
.SaveAs "C:\Temp\MonFichier.xls"
.Close
End With
End If
End Sub