Leçon 10 / 10 — Chapitre 7: Mise en pratique : automatiser la paie et les RH
Consolider les effectifs de plusieurs sites
Cette leçon combine Dir() et Workbooks.Open pour additionner automatiquement l'effectif de plusieurs sites, chacun suivi dans son propre classeur, sans avoir à ouvrir chaque fichier manuellement.
Sub ConsoliderEffectifs()
Dim nomFichier As String
Dim classeurSite As Workbook
Dim effectifTotal As Integer
effectifTotal = 0
nomFichier = Dir("C:\Sites\*.xlsx")
Do While nomFichier <> ""
Set classeurSite = Workbooks.Open("C:\Sites\" & nomFichier)
effectifTotal = effectifTotal + classeurSite.Worksheets(1).Range("B1").Value
classeurSite.Close SaveChanges:=False
nomFichier = Dir()
Loop
MsgBox effectifTotal
End Sub
Chaque fichier .xlsx du dossier "Sites" est ouvert tour à tour, son effectif en B1 de la première feuille est ajouté au total général, puis le classeur est refermé avant de passer au fichier suivant renvoyé par Dir().
À vous de jouer : dans vos propres mots, expliquez ce qui se passerait si la ligne nomFichier = Dir() était oubliée à l'intérieur de la boucle Do While.
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