Extractions de données de fichiers excel
borisparis
Messages postés
87
Statut
Membre
-
borisparis Messages postés 87 Statut Membre -
borisparis Messages postés 87 Statut Membre -
Bonjour,
J'ai une centaine de fichiers contenant des variables situées toujours à la même place. Je souhaiterais extraire les valeurs de ces variables pour les mettre dans un seul fichier: une variable par colonne et une ligne par fichier initial.
Voici deux exemples de ces fichiers
https://www.cjoint.com/c/EJluoHv5xpO
https://www.cjoint.com/c/EJluelYUluO
J'ai mis en jaune les variables à extraire (les mêmes dans tous les fichiers biensur)
Quelqu'un peut-il m'aider ? Je ne suis pas doué en macro...
Merci
J'ai une centaine de fichiers contenant des variables situées toujours à la même place. Je souhaiterais extraire les valeurs de ces variables pour les mettre dans un seul fichier: une variable par colonne et une ligne par fichier initial.
Voici deux exemples de ces fichiers
https://www.cjoint.com/c/EJluoHv5xpO
https://www.cjoint.com/c/EJluelYUluO
J'ai mis en jaune les variables à extraire (les mêmes dans tous les fichiers biensur)
Quelqu'un peut-il m'aider ? Je ne suis pas doué en macro...
Merci
1 réponse
-
Bonjour,
1°/ : Souhaitez-vous que Excel ouvre également ce nouveau fichier pour y mettre les données ou le fichier excel existe déjà?
2°/ : Si le fichier excel où vous voulez mettre vos données existe déjà, pouvez vous le joindre? Et pouvez-vous me donner le chemin (C:\....) sur votre machine?
Cordialement.-
-
Voici le code que je viens de créer :
Sub Code() Dim fichier_recap As Workbook, wb As Workbook, Ligne As Long Set fichier_recap = Workbooks.Add fichier_recap.SaveAs ("Récapitulatif.xls") With fichier_recap .Sheets(1).Range("A1").Value = "Fichier" .Sheets(1).Range("B1").Value = "NOM Prénom" .Sheets(1).Range("C1").Value = "DDN" .Sheets(1).Range("D1").Value = "Sexe" .Sheets(1).Range("E1").Value = "Poids" .Sheets(1).Range("F1").Value = "Taille (cm)" .Sheets(1).Range("G1").Value = "SC" .Sheets(1).Range("H1").Value = "Clairance" .Sheets(1).Range("I1").Value = "Clairance / Inuline" .Sheets(1).Range("J1").Value = "Clairance normalisée" End With Ligne = 1 For Each wb In Workbooks If wb.Name <> "Récapitulatif.xls" Then Ligne = Ligne + 1 With fichier_recap.Sheets(1) .Cells(Ligne, 1).Value = wb.Name .Cells(Ligne, 2).Value = wb.Sheets(1).Range("B10").Value .Cells(Ligne, 3).Value = wb.Sheets(1).Range("D10").Value .Cells(Ligne, 4).Value = wb.Sheets(1).Range("F10").Value .Cells(Ligne, 5).Value = wb.Sheets(1).Range("B12").Value .Cells(Ligne, 6).Value = wb.Sheets(1).Range("D12").Value .Cells(Ligne, 7).Value = wb.Sheets(1).Range("F12").Value .Cells(Ligne, 8).Value = wb.Sheets(1).Range("B41").Value .Cells(Ligne, 9).Value = wb.Sheets(1).Range("C43").Value .Cells(Ligne, 10).Value = wb.Sheets(1).Range("C45").Value End With End If Next wb End Sub
Ce code impose l'ouverture préalable de tous les fichier excel contenant les données. Et uniquement ces fichiers.
Le fichier exemple : https://www.cjoint.com/c/EJmjBZdxLef
Le fichier nommé "Récapitulatif" est enregistré dans "Mes documents".
Merci de me dire si ce code vous convient.
Cordialement. -
-
Le code ci-dessus traite tous les fichiers excel ouverts. Donc il faut ouvrir tous les fichiers source. Il est également possible de tous les ouvrir au préalable si vous me donnez le chemin où ils se trouvent. Il faut cependant qu'il n'y ait dans ce dossier QUE vos fichiers source. Le chemin sera sous la forme (C:\....). Sinon le code marche si vous ouvrez tous vos fichiers source à traiter.
-
-