Regrouper plusieurs fichiers excel ayant 2 colonnes en un seul
linfoge
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
bonsoir
j'ai une centaine de fichiers excel avec 2 colonnes
j'aimerais récupérer à chaque fois la 2e colonne et toutes ces colonnes les mettre dans un fichier global
par exemple
mon fichier1 il y a colonne : A et B
mon fichier2 il y a colonne: A' et B'
J'aimerais un fichier global avec 2 colonnes B et B'
S'il vous plait
merci d'avacne
j'ai une centaine de fichiers excel avec 2 colonnes
j'aimerais récupérer à chaque fois la 2e colonne et toutes ces colonnes les mettre dans un fichier global
par exemple
mon fichier1 il y a colonne : A et B
mon fichier2 il y a colonne: A' et B'
J'aimerais un fichier global avec 2 colonnes B et B'
S'il vous plait
merci d'avacne
A voir également:
- Regrouper plusieurs fichiers excel ayant 2 colonnes en un seul
- Formule moyenne excel plusieurs colonnes - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Déplacer colonne excel - Guide
- Regrouper plusieurs feuilles excel en une seule - Guide
- Comment regrouper plusieurs pdf en un seul - Guide
3 réponses
Bonjour,
Oui... et ?
Qu'as tu essayé ? Sur quoi bloques tu exactement ?
Les fichiers se trouvent dans le même dossier ?
Sachant que ce genre de question est déjà posée des millions de fois sur ce forum et d'autres.... tu devrais trouver sans mal la réponse à ta question.
Reviens nous voir si tu rencontres des difficultés en expliquant ce que tu auras essayé et avec le code à l’Appui.
NB: Pour poster ton code sur le forum, tu devras utiliser les balises de code
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
?
Oui... et ?
Qu'as tu essayé ? Sur quoi bloques tu exactement ?
Les fichiers se trouvent dans le même dossier ?
Sachant que ce genre de question est déjà posée des millions de fois sur ce forum et d'autres.... tu devrais trouver sans mal la réponse à ta question.
Reviens nous voir si tu rencontres des difficultés en expliquant ce que tu auras essayé et avec le code à l’Appui.
NB: Pour poster ton code sur le forum, tu devras utiliser les balises de code
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
?
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, tu donnes très peu d'informations utiles.
je comprends que tu as un fichier, que tu appelles "global", dans lequel tu veux recopier (où, quel onglet, quelle position?) une colonne (laquelle, quel onglet, quelle position?) se trouvant dans des fichiers (lesquels, où, quels noms?).
le fichier global est-il vide au départ? quand cela va-t'il s'exécuter?
je comprends que tu as un fichier, que tu appelles "global", dans lequel tu veux recopier (où, quel onglet, quelle position?) une colonne (laquelle, quel onglet, quelle position?) se trouvant dans des fichiers (lesquels, où, quels noms?).
le fichier global est-il vide au départ? quand cela va-t'il s'exécuter?
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
tu écris que tu veux copier dans un fichier existant, alors pourquoi créer le fichier résultat?
je suggère de remplacer ceci:
je suggère de remplacer ceci:
' Créer le fichier résultat Set res = Workbooks.Add(xlWBATWorksheet)par cela:
' Utiliser le fichier contenant le code VBA comme fichier résultat Set res = ThisWorkbook
oui en effet j'ai trouvé plusieurs forum avec cette question mais je n'arrive pas à résoudre le mien c'est pour cela que j'ai proposer la mienne si quelqu'un peut m'aider personnellement
j'ai essayé ce code qui me semblait etre la solution de mon problème, j'ai changé juste le repertoire et le numero de la ligne que je veux copier soit la ligne : Set rng = wbk.Worksheets(1).UsedRange.Columns(2)
Public Sub Regrouper_Fichiers()
' regroupe dans les colonnes de la feuille 1 d'un fichier,
' la colonne A de chaque fichier excel d'un répertoire.
'
Dim fso As Object 'Système de fichiers
Dim rep As Object 'Répertoire
Dim cfr As Object 'Collection de fichiers du répertoire
Dim fic As Object 'Fichier (élément de la collection cfr)
Dim wbk As Workbook 'Classeur
Dim res As Workbook 'Classeur resultat
Dim rng As Range 'Plage de cellules
Dim dst As Range 'Cellule de destination
Dim pth As String 'Chemin du répertoire
' Définir le répertoire à lire
pth = "D:\TEMP"
' Créer le fichier résultat
Set res = Workbooks.Add(xlWBATWorksheet)
Set dst = res.Worksheets(1).Range("A1")
' Lecture du répertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set rep = fso.GetFolder(pth)
Set cfr = rep.Files
' Contrôler chaque fichier du répertoire
For Each fic In cfr
' - Vérifier s'il s'agit d'un fichier Excel...
If StrComp(fso.GetExtensionName(fic.Name), "xlsx", vbTextCompare) = 0 Then
' ... dans l'affirmative, ouvrir le fichier et mettre à jour les liaisons
Set wbk = Workbooks.Open(Filename:=pth & "\" & fic.Name, UpdateLinks:=xlUpdateLinksAlways)
' Placer le nom du fichier en titre de colonne résultat
dst.Value = fic.Name
' Copier la colonne en dessous
Set rng = wbk.Worksheets(1).UsedRange.Columns(2)
rng.Copy dst.Offset(1)
' Fermer le fichier sans le modifier
wbk.Close False
' Destination sur colonne suivante
Set dst = dst.Offset(0, 1)
End If
Next fic
End Sub
Mais malgré ça ça ne fonctionne pas...