Windows | Windows Server | Active directory | Exchange | SharePoint | SCCM | SCOM | Hyper-V | App-V
ACCUEIL Facebook Twitter Linked In Viadeo Flux RSS
Astuces suivantes

Astuces précédentes
Comment protéger par mot de passe un fichier Excel ?
Renommer une série de fichiers à la volée - Windows 8.1
Astuce pour travailler plus rapidement sur Windows
Mise à jour des produits Microsoft (Février 2015)
Internet: retrouver un onglet fermé par erreur


Publié le : 15/06/2011 14:05:41
Mise à jour le : 19/05/2011 23:06:28
Catégories :


Version imprimable

Auteur(s)

Excel : additionnez des factures sans les ouvrir


Dans un dossier, un certain nombre de classeurs Excel sont regroupés, chacun correspondant à une facture. Ces factures ont toutes la même structure : le total à payer se trouve toujours dans la cellule H10. Comment totaliser automatiquement les montants de toutes les factures du dossier, sachant qu'il en arrive régulièrement de nouvelles ?

Pour résoudre votre problème, vous allez créer une macro qui examinera tous les classeurs du dossier (C:\Factures dans notre exemple) et additionnera les valeurs de la cellule H10 de chacun.

Pour cela, créez un classeur Excel dans un autre dossier puis tapez Alt + F11 pour ouvrir l'éditeur VBA. Déroulez le menu Insertion, Module et saisissez le listing ci-contre.

Sub Total_Factures()
Total = 0
Dim NomFichier As String
    NomFichier = Dir("C:\Factures\*.XLS")
    Do Until NomFichier = ""
        Workbooks.Open Filename:="C:\Factures\" & NomFichier
        '-- Instructions effectuées pour chaque fichier ------
        Total = Total + [H10] : ActiveWorkbook.Close
        NomFichier = Dir
    Loop
    MsgBox "Total des factures " & Total
End Sub

Revenez à Excel et tapez Alt + F8, sélectionnez Total_Factures et cliquez sur Exécuter. Le total s'affiche dans une boîte de dialogue. Notez que, en remplaçant Total = Total + [H10] par les instructions de votre choix, vous pouvez appliquer n'importe quel traitement à un ensemble de classeurs.  (Source 01 net)