Excel & VBA
Automatiser vos rapports Excel avec VBA : Guide pratique
Apprenez à créer une macro VBA pour générer automatiquement des rapports Excel professionnels en un clic.
Publié le 10 janvier 2025
VBAExcelAutomatisationReporting

Automatiser vos rapports Excel avec VBA
Si vous passez des heures chaque semaine à créer des rapports Excel identiques, l'automatisation VBA est la solution. Voici comment procéder.
Le problème classique
Vous devez :
- Ouvrir 10 fichiers Excel
- Copier des données spécifiques
- Les coller dans un rapport consolidé
- Appliquer une mise en forme
- Envoyer par e-mail
Temps nécessaire : 2-3 heures/semaine
La solution VBA
Avec une macro VBA, toutes ces étapes peuvent être réalisées en un clic.
Exemple de macro de consolidation
Sub ConsoliderRapports()
Dim ws As Worksheet
Dim fichier As String
Dim chemin As String
chemin = "C:\Rapports\"
fichier = Dir(chemin & "*.xlsx")
' Créer une nouvelle feuille de consolidation
Set ws = ThisWorkbook.Sheets.Add
ws.Name = "Consolidation"
' Parcourir tous les fichiers
Do While fichier <> ""
Dim wb As Workbook
Set wb = Workbooks.Open(chemin & fichier)
' Copier les données (A1:F50)
wb.Sheets(1).Range("A1:F50").Copy _
Destination:=ws.Cells(ws.Rows.Count, 1).End(xlUp).Offset(1, 0)
wb.Close SaveChanges:=False
fichier = Dir
Loop
MsgBox "Consolidation terminée !", vbInformation
End Sub
Mise en forme automatique
Vous pouvez aussi automatiser la mise en forme :
Sub AppliquerMiseEnForme()
With ActiveSheet.Range("A1:F1")
.Font.Bold = True
.Interior.Color = RGB(0, 176, 240)
.Font.Color = vbWhite
End With
End Sub
Envoi par e-mail automatique
Bonus : envoyez le rapport par e-mail automatiquement :
Sub EnvoyerRapport()
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = "manager@entreprise.com"
.Subject = "Rapport hebdomadaire - " & Format(Date, "dd/mm/yyyy")
.Body = "Veuillez trouver ci-joint le rapport consolidé."
.Attachments.Add ThisWorkbook.FullName
.Send
End With
End Sub
Résultat
Temps économisé : 2h30/semaine = 130 heures/an 🎯
Vous voulez automatiser vos processus Excel ? Parlons-en
Besoin d'aide pour votre projet ?
Je peux vous accompagner dans la mise en place de solutions d'automatisation et d'IA adaptées à vos besoins.
Me contacter