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

Résolu
srigoulot Messages postés 8 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 4 avril 2012 - 3 avril 2012 à 00:45
srigoulot Messages postés 8 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 4 avril 2012 - 4 avril 2012 à 15:37
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

Utilisateur anonyme
3 avril 2012 à 18:06
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.
3
Utilisateur anonyme
3 avril 2012 à 05:15
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.
0
mjpmjp Messages postés 115 Date d'inscription dimanche 6 avril 2003 Statut Membre Dernière intervention 29 juin 2012
3 avril 2012 à 07:11
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
3 avril 2012 à 08:07
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
srigoulot Messages postés 8 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 4 avril 2012
3 avril 2012 à 09:35
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é.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
3 avril 2012 à 09:51
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
0
mjpmjp Messages postés 115 Date d'inscription dimanche 6 avril 2003 Statut Membre Dernière intervention 29 juin 2012
4 avril 2012 à 08:48
bonjour
merci cmarcotte pour ce lien

@+JP
0
srigoulot Messages postés 8 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 4 avril 2012
4 avril 2012 à 15:37
Merci cmarcotte, c'est ce que j'attendais ...
Là je vais pouvoir me débrouiller !
0
Rejoignez-nous