Ouvrir les fichiers excel d'un répertoire et faire la somme d'une cellule [Résolu]

Signaler
Messages postés
8
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
4 avril 2012
-
Messages postés
8
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
4 avril 2012
-
Bonjour,

je débute enVBA.
Comment récupérer, dans un fichier excel récap, la valeur d'une cellule donnée dans tous les fichiers excel contenu dans un même répertoire.

exemple :
Dans le fichier récap, dans la feuil1, en A1, je voudrais avoir
=SOMME(
[Monrep/1.xls]Feuil1!A1.value;
[Monrep/2.xls]Feuil1!A1.value;
[Monrep/3.xls]Feuil1!A1.value;
[Monrep/4.xls]Feuil1!A1.value;
...)

évidemment je n'ai pas le nom des fichiers du répertoire.

Si quelqu'un peut m'aiguiller. Merci d'avance !

 riggss !

8 réponses


Bonjour,

j'ai retrouvé se code dont je n'ai pas la source


J'ai la vague impression que c'est sur le site de Frédéric Sigonneau.

Une adresse a garder dans ses favoris ou ses signets quand on pratique la Vbalogie.

Bonjour,

dans un fichier excel récap

On lance Excel, on crée un nouveau classeur, on l'enregistre sous le nom de récap. Ensuite on appuie simultanément sur les touches ALT et F11. Ensuite on clique sur le ? au bout de la barre des menus. Ensuite on cherche un peu

dans tous les fichiers excel contenu dans un même répertoire.

> Fonction Dir

la valeur d'une cellule donnée

==> Objets Sheet, Range et Workbook

> Collections Sheets et Workbooks

> Opérateurs + et +

Instructions do, While, For et For Each pour les boucles

Copier-Coller pour les exemples.
Messages postés
115
Date d'inscription
dimanche 6 avril 2003
Statut
Membre
Dernière intervention
29 juin 2012

bonjour
j'ai retrouvé se code dont je n'ai pas la source
je ne l'ai pas testé

'récupération de données dans un classeur fermé
'(méthode "classique" par établissement d'une liaison temporaire)
'(c'est aussi la technique habituellement conseillée pour essayer
'de récupérer des données d'un classeur endommagé)

Sub test()
 GetValuesFromAClosedWorkbook "D:", "TestADO.xls", "Feuil1", "A1:H25"
End Sub

Sub GetValuesFromAClosedWorkbook(fPath As String, _
   fName As String, sName, cellRange As String)
   'Ron De Bruin, mpep
   'le paramètre 'cellRange' doit désigner
   '*une* plage de cellules *contigües*
   With ActiveSheet.Range(cellRange)
     .Formula = "='" & fPath & "\[" & fName & "]" _
      & sName & "'!" & cellRange
     .Value = .Value
   End With
End Sub


@+JP
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Bonjour,

J'apprécie beaucoup la réponse faire par cmarcotte, que je salue avec chaleur.
Elle montre bien une volonté honorable d'apprendre à pêcher (plutôt que de donner un poisson).
J'encourage donc srigoulot à se "pencher" sur cette réponse avec le plus grand soin.
Nous serons là ensuite pour corriger au besoin les efforts faits dans ce sens infructueusement.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
8
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
4 avril 2012

Merci à tous pour vos réponses.

Je connais des languages de programmation mais pas trop VBA.
Faire une boucle n'est pas un soucis pour moi par contre je ne connais pas la grammaire.
Ca n'est pas par volonté de ne pas chercher mais juste avoir vos lumières si le codage était aisé et si vous aviez une piste (merci tout spécialement à mjpmjp ).

Je vois que c'est possible et que la prochaine fois je partirai à la pêche

Je laisserai le fruit de ma pêche dans ce fil. Ca pourra servir à d'autres, peut-être.


-------------------------------------------------------------------------------
Citation : Le savoir ne vaut rien sans être partagé et ne vit pas s'il est jalousé.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Ca n'est pas par volonté de ne pas chercher mais juste avoir vos lumières si le codage était aisé et si vous aviez une piste

Commence donc par le commencement (puisqu'il va bien valoir commencer par répertorier les fichiers concernés, non ?) ===>> et cmarcotte a écrit, en ce qui concerne ce 1er aspect : ===>>
dans tous les fichiers excel contenu dans un même répertoire.
> Fonction Dir

et donc : ===>> 1er réflexe ===>> ouvrir ton aide VBA pour y voir :
- ce qu'est cette fonction et comment on l'utilise (exemple fourni dans l'aide).
C'est ainsi que l'on comble la difficulté résultant de :
par contre je ne connais pas la grammaire



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
115
Date d'inscription
dimanche 6 avril 2003
Statut
Membre
Dernière intervention
29 juin 2012

bonjour
merci cmarcotte pour ce lien

@+JP
Messages postés
8
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
4 avril 2012

Merci cmarcotte, c'est ce que j'attendais ...
Là je vais pouvoir me débrouiller !