extraire donnée se trouvant dans plusieurs fichiers excel

  • Initiateur de la discussion Initiateur de la discussion remady
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

remady

Guest
Bonjour,

Je me permets d'ouvrir un post certe déjà discuté maintes et maintes fois, mais étant donnée mon niveau actuel en vba, je n'arrivais pas à décrypter les différents codes proposés afin de les adapter à ma situation. Il me faudrait juste un point de départ pour me lancer. Je vous en serais donc reconnaissant, si vous pouviez m'apporter un peu d'aide pour me mettre dans le droit chemin.

Donc je joins à mon post un zip contenant 4 fichiers. Dans l'un de ses fichiers ("test.xls"), je dois créer une macro qui puissent extraire certaines lignes des autres fichiers sans les ouvrir, et les inscrire à l'endroit prévu à cet effet.

Des explications supplémentaires sont fournis avec les différents fichiers.

Merci d'avance pour votre précieuse aide.
 

Pièces jointes

Re : extraire donnée se trouvant dans plusieurs fichiers excel

Bonsoir remady, le forum,

A priori ce n'est pas bien compliqué : il suffit de créer les liaisons entre les cellules.

Donc ouvrir tous les fichiers.

Puis pour chacun des 3 fichiers pannes incidents couts copier la plage concernée (B2:M8) => collage spécial => coller avec liaison sur chacune des 3 cellules C2 C9 C16 du fichier test.

Edition : je repasse par là pour saluer kjin 🙂

et pour rappeler aussi que, si l'on ne veut pas voir les valeurs zéros renvoyées par les formules de liaison, on peut appliquer à tout le tableau le format personnalisé Standard;;

A+
 
Dernière édition:
Re : extraire donnée se trouvant dans plusieurs fichiers excel

bonsoir, salut Job 🙂
A condition que
- dans chaque classeur, l'onglet extrait se nomme bien "Resultat" et non "feuil1" ou "Maurice"
- que dans le fichier test et dans le nom du fichier, "Coût" s'écrive toujours avec le circonflexe qui va bien
- que dans le fichier test, dans la colonne A, "Coût", "Pannes" et "Incidents" s'écrive sans espace à la fin
- que l'organisation des données dans les fichiers soit conforme à ce que tu as indiqué
alors tu peux essayer ceci
Code:
Sub VaChercher()
rep = ActiveWorkbook.Path & "\" 'à adapter si différent
For k = 2 To 16 Step 7
    fichier = Cells(k, 1) & ".xls"
    For i = 0 To 6
        For j = 3 To 22
            c = Cells(1, j - 1).Address(ReferenceStyle:=xlR1C1)
            v = Cells(i + 2, j - 1).Address(ReferenceStyle:=xlR1C1)
            If ExecuteExcel4Macro("'" & rep & "[" & fichier & "]Resultat'!" & c & "") = 0 Then Exit For
            Cells(k + i, j) = ExecuteExcel4Macro("'" & rep & "[" & fichier & "]Resultat'!" & v & "")
        Next
    Next
Next

End Sub
A+
kjin
 
Re : extraire donnée se trouvant dans plusieurs fichiers excel

Bonjour, désolé de ne pas avoir pu répondre à vos post pendant le week end

Kjin, j'obtiens une erreur d'exécution "Incompatibilité de type" au niveau du ExecuteExcel4Macro. Sachant que j'ai déclaré les variables de la facon suivante :

Code:
Dim k As Long
Dim j As Long
Dim i As Long
Dim c As String
Dim v As String
Dim fichier As String
Dim rep As String

Merci encore une fois pour ton aide
 
Re : extraire donnée se trouvant dans plusieurs fichiers excel

Re, kjin

Curieusement maintenant ca marche nickel, par contre peut-tu m'expliquer ce que font exactement ces deux lignes :

Code:
If ExecuteExcel4Macro("'" & rep & "[" & fichier & "]Resultat'!" & c & "") = 0 Then Exit For
Cells(k + i, j) = ExecuteExcel4Macro("'" & rep & "[" & fichier & "]Resultat'!" & v & "")

Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
  • Question Question
Réponses
5
Affichages
2 K
J
Réponses
2
Affichages
8 K
Boo2bafoot
B
W
Réponses
0
Affichages
903
whynot_93
W
C
Réponses
0
Affichages
2 K
clorion
C
Retour