Copier contenue excel vers un autre

Copier contenue excel vers un autre - VB/VBA/VBS - Programmation

Marsh Posté le 29-07-2018 à 23:48:23    

Bonjour,
 
Je suis entrain d'essayer de faire un script qui permettra de prendre plusieurs fichier excel pour les rassembler vers un fichier unique fichier excel. je voudrais savoir si quelqu'un a une idée de comment faire ?  
 
Merci

Reply

Marsh Posté le 29-07-2018 à 23:48:23   

Reply

Marsh Posté le 30-07-2018 à 13:25:01    

- Quelques idées ici pour accéder à tous les fichiers d'un répertoire
https://stackoverflow.com/questions [...] -using-vba
 
- Quelques idées pour accéder à toutes les pages d'un classeur
https://www.developpez.net/forums/d [...] ch-sheets/
 
- Les instructions de bases à adapter
    Windows("Classeur1" ).Activate
    Sheets("Feuil1" ).Select
    Sheets("Feuil1" ).Copy After:=Workbooks("Classeur2" ).Sheets(1)


---------------
Audio-Video: Pioneer: PDP-LX6090 + SC-LX78 + BDP-LX88 + S3ex + S81c +S71B et EAA PA1000 + Onkyo P388F  
Reply

Marsh Posté le 30-07-2018 à 14:16:20    

Bonjour,
 
Un exemple à adapter:

Code :
  1. Option Explicit
  2. Option Private Module
  3. Public Sub Synthèse_Classeurs_AE()
  4. Dim wbk As Workbook         'Classeur
  5. Dim Système As Object       'Système de fichiers
  6. Dim Dossier As Object       'Répertoire
  7. Dim Fichiers As Object      'Collection de fichiers du répertoire Dossier
  8. Dim Fichier As Object       'Fichier (élément de la collection Fichiers)
  9. Dim Nom_Fichier As String   'Nom du fichier
  10. Dim Nom_Dossier As String   'Nom du dossier
  11.   'Répertoire des fichiers AE
  12.   Nom_Dossier = ThisWorkbook.Path & "/AE"
  13.   'Lecture du répertoire
  14.   Set Système = CreateObject("Scripting.FileSystemObject" )
  15.   Set Dossier = Système.GetFolder(Nom_Dossier)
  16.   Set Fichiers = Dossier.Files
  17.   '- Contrôle de chaque le fichier du répertoire
  18.   For Each Fichier In Fichiers
  19.     '- Vérifier s'il s'agit d'un fichier Excel...
  20.     If StrComp(Système.GetExtensionName(Fichier.Name), "xls", vbTextCompare) = 0 Then
  21.       '... dans l'affirmative, ouvrir le fichier et mettre à jour les liaisons
  22.       Nom_Fichier = Nom_Dossier & "\" & Fichier.Name
  23.       Set wbk = Workbooks.Open(Filename:=Nom_Fichier, UpdateLinks:=xlUpdateLinksNever)
  24.       Call Ajouter_Données_AE(wbk)
  25.       wbk.Close SaveChanges:=False
  26.     End If
  27.   Next Fichier
  28. End Sub
  29. Public Sub Ajouter_Données_AE(wbk As Workbook)
  30. Dim celOrg As Range
  31. Dim celDst As Range
  32.   'Première info de AE
  33.   Set celOrg = wbk.Worksheets(1).Range("A20" )
  34.   'Dernière cellule utilisée de la première colonne du fichier retour
  35.   With ThisWorkbook.Worksheets(1)
  36.     Set celDst = .Cells(.Rows.Count, 1).End(xlUp)
  37.   End With
  38.   'Copie des données
  39.   Do While celOrg.Formula <> ""
  40.     Set celDst = celDst.Offset(1)
  41.     celDst.Value = celOrg.Value
  42.     celDst.Offset(, 1).Value = celOrg.Offset(, 1).Value
  43.     celDst.Offset(, 2).Value = celOrg.Offset(, 5).Value
  44.     'suivant
  45.     Set celOrg = celOrg.Offset(1)
  46.   Loop
  47. End Sub



---------------
Cordialement, Patrice
Reply

Marsh Posté le 30-07-2018 à 14:17:29    

Tu peux regarder aussi du côté du langage AutoIt qui te permettra de faire un .exe. Via l'interface COM, il est capable de "piloter" Excel. Tu peux même faire une petite IHM pour sélectionner les fichiers à concaténer. ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 30-07-2018 à 15:14:02    

d'accord merci a vous je vais regarder ça


Message édité par z8444 le 30-07-2018 à 15:15:07
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed