Extractions de données de fichiers excel

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

1 réponse

  1. 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.
    0
    1. Non le fichier n'existe pas . je préfèrerais qu'il soit créé par le programme
      Merci
      0
    2. 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.
      0
    3. Merci
      Ou dois-je mettre les fichiers sources pour qu'il les trouves ?
      0
    4. 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.
      0
    5. Merci beaucoup . C'est vraiment parfait, même génial pour moi.
      0