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 !
A voir également:
Ouvrir les fichiers excel d'un répertoire et faire la somme d'une cellule
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
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
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
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é.
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