PaliSkill
Introduction au VBA

Leçon 10 / 10 — Chapitre 10: Mise en pratique : automatiser le suivi agricole

Consolider les récoltes de plusieurs exploitations

Cette dernière leçon du module combine Dir() et Workbooks.Open pour additionner automatiquement la récolte totale de plusieurs exploitations partenaires, chacune suivie dans son propre classeur.

Sub ConsoliderRecoltes()
    Dim nomFichier As String
    Dim classeurExploitation As Workbook
    Dim recolteTotale As Double
    recolteTotale = 0

    nomFichier = Dir("C:\Exploitations\*.xlsx")

    Do While nomFichier <> ""
        Set classeurExploitation = Workbooks.Open("C:\Exploitations\" & nomFichier)
        recolteTotale = recolteTotale + classeurExploitation.Worksheets(1).Range("B1").Value
        classeurExploitation.Close SaveChanges:=False
        nomFichier = Dir()
    Loop

    MsgBox recolteTotale
End Sub

Le premier appel Dir("C:\Exploitations\*.xlsx") ne renvoie que les fichiers se terminant par .xlsx ; chaque classeur trouvé est ensuite ouvert, sa récolte totale en B1 ajoutée au cumul général, puis refermé sans être modifié avant de passer au fichier suivant.

À vous de jouer : adaptez cette macro pour ne consolider que les exploitations dont le nom de fichier contient l'année en cours, en combinant Dir() avec un test sur le nom de fichier.

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que la certification finale.

2 500 XOF / 3,81 € / 4,15 $

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

Votre paiement est vérifié avant l'activation de l'accès