extraire donnée se trouvant dans plusieurs fichiers excel

remady

XLDnaute Nouveau
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

  • Test.zip
    22.9 KB · Affichages: 64
  • Test.zip
    22.9 KB · Affichages: 66
  • Test.zip
    22.9 KB · Affichages: 68

job75

XLDnaute Barbatruc
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:

kjin

XLDnaute Barbatruc
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
 

remady

XLDnaute Nouveau
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
 

kjin

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

Bonjour,
A part "Application.ExecuteExcel4Macro" je ne vois pas.
Teste le fichier joint qui chez moi fonctionne parfaitement (Excel2000)
A+
kjin
 

Pièces jointes

  • Test_Remady.zip
    23 KB · Affichages: 96
  • Test_Remady.zip
    23 KB · Affichages: 94
  • Test_Remady.zip
    23 KB · Affichages: 102

remady

XLDnaute Nouveau
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
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz