Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1309 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Fusionner des classeurs Excel, mais pas que ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fusionner des classeurs Excel, mais pas que ...

n°2293415
alexstain
Geek en stock
Posté le 08-12-2016 à 18:15:14  profilanswer
 

Bonjour,
 
Je sais que ma question a déjà été partiellement traitée ailleurs, mais je ne suis pas développeur, je ne connais strictement rien au VBA.
 
J'ai 63 classeurs excel d'une seule feuille, d'une vingtaine de lignes.
Ma ligne de titre est la ligne 6
En dessous il peut y a voir de 2 à 20 lignes, à la louche.
 
J'ai besoin de fusionner tous ces classeurs en un seul, dans une seule feuille.
Les lignes 1,2,3,4,5 sont facultatives.
J'ai besoin que la ligne 6 soit reprise, ainsi que toutes les lignes remplies en dessous, ainsi que les colonnes A,B,C,D,E,F,G soient reprises.
J'ai besoin que pour chaque ligne reprise d'un classeur, la valeur dans ce classeur de la cellule B2 soit reprise en colonne H.
Par exemple pour le fichier ZOZO, dont la valeur B2 indique 07/12/2016, toutes les lignes reprises indiquent en colonne H "07/12/2016".
 
Tous les fichiers Excel sont dans un dossier de "Mes documents".
 
Une bonne âme aurait elle l'extrème gentillesse de me composer une macro ?
 
MERCI !!


---------------
Ventes : http://forum.hardware.fr/forum2.ph [...] #t16617873
mood
Publicité
Posté le 08-12-2016 à 18:15:14  profilanswer
 

n°2293416
Wolfman
Lobo'tomizado
Posté le 08-12-2016 à 23:01:18  profilanswer
 

Ce sujet a été déplacé de la catégorie Windows & Software vers la categorie Programmation par Wolfman

n°2293511
x140hu4
Posté le 11-12-2016 à 22:28:42  profilanswer
 

Salut,
 
Créée un fichier excel, va dans le developeur (a activer dans le ribbon au dessus de excel)>Visual Basic>Ajouter un module et copie le code en dessous.
 
Il faut que tu créées un folder input ou tu devras mettre tes fichiers. Si tes fichiers ne sont pas en xlsx, change l'extension dans le Filename en dessous.
 
Je l'ai fait a la va vite donc c'est pas super propre mais ca devrait faire l'affaire :)
 
 

Code :
  1. Sub GetSheets()
  2. Path = "C:\Mes documents\Input\"
  3. Filename = Dir(Path & "*.xlsx" )
  4. OutputWb = ActiveWorkbook.Name
  5. FirstWb = True
  6. Application.DisplayAlerts = False
  7.   Do While Filename <> ""
  8.     Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
  9.    
  10.     With ThisWorkbook
  11.    
  12.         If FirstWb Then
  13.             ActiveSheet.Copy After:=.Sheets(1)
  14.             .ActiveSheet.Name = "Output"
  15.             FirstWb = False
  16.            
  17.             Data = .ActiveSheet.Range("B2" ).Value
  18.             .ActiveSheet.Range("B2" ).Clear
  19.             LastRow = .ActiveSheet.Cells(.ActiveSheet.Rows.Count, "A" ).End(xlUp).Row
  20.             .ActiveSheet.Range(.ActiveSheet.Cells(7, 8), .ActiveSheet.Cells(LastRow, 8)).Value = Data
  21.         Else
  22.             Data = ActiveSheet.Range("B2" ).Value
  23.             ActiveSheet.Range("A7:G30" ).Copy
  24.             FirstRow = .ActiveSheet.Cells(.ActiveSheet.Rows.Count, "A" ).End(xlUp).Row + 1
  25.             .ActiveSheet.Rows(FirstRow).PasteSpecial xlPasteValues
  26.             LastRow = .ActiveSheet.Cells(.ActiveSheet.Rows.Count, "A" ).End(xlUp).Row
  27.             Data = ActiveSheet.Range("B2" ).Value
  28.             .ActiveSheet.Range(.ActiveSheet.Cells(FirstRow, 8), .ActiveSheet.Cells(LastRow, 8)).Value = Data
  29.          
  30.        End If
  31.      
  32.        Workbooks(Filename).Close
  33.        Filename = Dir()
  34.         End With
  35.     Loop
  36.   Application.DisplayAlerts = True
  37.  
  38. End Sub

n°2293593
alexstain
Geek en stock
Posté le 13-12-2016 à 17:10:39  profilanswer
 

Testé et approuvé !
Merci beaucoup !
 
Si un jour tu as le temps de détailler les étapes en français dans le texte genre 'récupération des fichiers excel', histoire que j'apprenne, ce serait juste génial.
 
Bonne soirée


---------------
Ventes : http://forum.hardware.fr/forum2.ph [...] #t16617873

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Fusionner des classeurs Excel, mais pas que ...

 

Sujets relatifs
Transfert de données Excel WEBVBA-excel Copier-Coller après InputBox
[PYTHON] VBA & Formules Excel vers site web PythonChoix de configurations a l'ouverture d'un fichier Excel
Novice en VBA (Projet Excel)Transcription formule excel en VBA
verrouiller un fichier excel avec une macroAutomatisation fichier excel avec VBA
Excel 2013, option recherche champs TCD[VBA] Cacher bouton excel utilisateurs AD
Plus de sujets relatifs à : Fusionner des classeurs Excel, mais pas que ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR