Addition de cellules de plusieurs fichiers

Bonjour à tous et toutes,

Débutant sur ce bel outil Excel, j'implore de l'aide pour m'aider à résoudre un problème

Je souhaite additionner les cellules de plusieurs fichiers Excel dans un fichier récap (Dashboard):

5dashboard-bup.xlsx (95.18 Ko)

J'ai 31 fichiers sources (j'en ai posté 2 pour exemple: client 1 et client 2), ils ont des noms différents mais les onglets à additionner (2 ds chaque fichier: BUP et Valo€) ont exactement la même structure: onglets de nom identique et emplacement des données similaires.

Pour faire simple je cherche additionner les données de Janvier à Mars dans chaque des onglets BUP et Valo€.

J'ai bien démarré avec une formule basique qui consiste à ouvrir tous les fichiers puis sélectionner mes cellules pour les additionner. le pb est qu'excel s'amuse à ouvrir tous les fichiers lors de la maj des données... L'idéal serait de pouvoir mettre à jour les données sans ouverture/enregistrement de chacun des fichiers.

Je ne veux pas profiter de votre aide charitable et n'attend pas forcément une solution toute faite. Je cherche aussi à comprendre et apprendre. J'ai donc mis en pj 3 fichiers (le dashboard et 2 fichiers de données sources). Je me chargerai ensuite de décliner vos conseils avec le reste des fichiers

J'ai bien consulté et essayé quelques codes VBA sur le forum mais impossible à exécuter.

Si besoin d'infos complémentaires pour comprendre ma problématique , n'hésitez pas

Un grand merci par avance !

Matt

8bup-client-1.xlsx (95.18 Ko)
7bup-client-2.xlsx (95.18 Ko)

Bonjour Matt,

est ce que les 2 plages de cellules sur les fichiers "BUP Client 1.xlsx" sont nommées ?

Bonjour,

je vous propose 2 fonctions perso, j'ai supposé que les plages de cellule sur les fichiers "BUP Client" sont tous nommées, plgBUP et plgValo€

Function SommeExtBUP(fichier, champSomme)
 'Microsoft ActiveX 2.8 doit être coché
 Dim Cnn As New ADODB.Connection
 Dim rs As New ADODB.Recordset
 chemin = ThisWorkbook.Path & "\" & fichier

 chaineConnect = "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & chemin & ";HDR=Yes';"

 Cnn.Open chaineConnect

 Sql = "SELECT SUM(" & champSomme & ") FROM [plgBUP] "

 rs.Open Sql, Cnn

 SommeExtBUP = rs(0)
 rs.Close
 Cnn.Close
End Function

Function SommeExtValo€(fichier, champSomme)
 'Microsoft ActiveX 2.8 doit être coché
 Dim Cnn As New ADODB.Connection
 Dim rs As New ADODB.Recordset
 chemin = ThisWorkbook.Path & "\" & fichier

 chaineConnect = "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & chemin & ";HDR=Yes';"

 Cnn.Open chaineConnect

 Sql = "SELECT SUM(" & champSomme & ") FROM [plgValo€] "

 rs.Open Sql, Cnn

 SommeExtValo€ = rs(0)
 rs.Close
 Cnn.Close
End Function
9bup-client-1.xlsx (99.78 Ko)
Rechercher des sujets similaires à "addition fichiers"