Plusieurs fichier en un seul
rachton92
Messages postés
14
Statut
Membre
-
PHILOU10120 Messages postés 6513 Date d'inscription Statut Contributeur Dernière intervention -
PHILOU10120 Messages postés 6513 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
chaque jour je reçois une vingtaine de fichiers Excel avec le même nombre de colonne mais plus de 4000 lignes par fichiers, comment puis-je coller tout ses fichiers à la suite dans un seul fichier. merci beaucoup de votre aide.
chaque jour je reçois une vingtaine de fichiers Excel avec le même nombre de colonne mais plus de 4000 lignes par fichiers, comment puis-je coller tout ses fichiers à la suite dans un seul fichier. merci beaucoup de votre aide.
A voir également:
- Plusieurs fichier en un seul
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
3 réponses
Bonjour Rachton92
Voici un début de macro si cela peu vous aider
Sub copie_colle()
'
' copie_colle Macro
Sheets("classeur 1 à copier").Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("classeur centralisateur").Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveCell.Offset(1, 0).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("classeur 2 à copier").Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("classeur centralisateur").Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveCell.Offset(1, 0).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Dans cet exemple on sélectionne dans "classeur 1 à copier" de A1 à dernière colonne à droite puis toutes les lignes en dessous (aucune cellule ne doit être vide dans la ligne 1et en colonne A
On sélectionne le classeur "centralisateur" en A1 et on descend à la dernière ligne remplie puis on décale d'une cellule vers le bas et on colle/valeurs
Puis on va au classeur 2 on copie et on revient sur le classeur centralisateur en A1 on descend à la dernière ligne on décale d'une cellule vers le bas et coller/valeur à vous de faire la suite
Voici un début de macro si cela peu vous aider
Sub copie_colle()
'
' copie_colle Macro
Sheets("classeur 1 à copier").Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("classeur centralisateur").Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveCell.Offset(1, 0).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("classeur 2 à copier").Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("classeur centralisateur").Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveCell.Offset(1, 0).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Dans cet exemple on sélectionne dans "classeur 1 à copier" de A1 à dernière colonne à droite puis toutes les lignes en dessous (aucune cellule ne doit être vide dans la ligne 1et en colonne A
On sélectionne le classeur "centralisateur" en A1 et on descend à la dernière ligne remplie puis on décale d'une cellule vers le bas et on colle/valeurs
Puis on va au classeur 2 on copie et on revient sur le classeur centralisateur en A1 on descend à la dernière ligne on décale d'une cellule vers le bas et coller/valeur à vous de faire la suite
rachton92
Messages postés
14
Statut
Membre
merci philou pour ta réponse, malheureusement je suis vraiment nouveau sur excel et je t'avoue que je n'ai pas trop compris. aurai-tu l'explication plus détaillé avec les taches a suivre merci beaucoup
Bonjour rachton92
La première question avez vous accès dans le menu d'Excel à développeur? Ce menu permet l' enregistrement, la modification et la gestion des macros.
La première question avez vous accès dans le menu d'Excel à développeur? Ce menu permet l' enregistrement, la modification et la gestion des macros.
Bonjour rachton92
Dans un module de votre classeur vous copiez le bout de code que je vous ai mis plus haut de Sub copie_colle à la fin :=False, Transpose:=False
vous rajoutez sur la ligne en dessous End sub pour terminer la macro
Vous reprenez au début de la macro et vous mettez le nom du 1° classeur à copier dans cette ligne
Sheets("classeur 1 à copier").Select
Pour cela vous pouvez utiliser l'enregistreur de macro qui va créer une nouvelle macro dans un nouveau module
Le classeur à copier étant fermé et dans le dossier ou vous le récupérez
Déclencher l'enregistreur de macro et faite la procédure Allez ouvrir le dossier puis le fichier, une fois le fichier ouvert vous pouvez arrêter l'enregistreur. Allez dans le module et vous copiez les lignes
Workbooks.Open Filename:="F:\TELECHARGEMENTS\JOURNAL DES VENTES.xlsx"
Sheets("Feuil1").Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Windows("CONSOLIDER.xlsx").Activate
Sheets("Feuil1").Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveCell.Offset(1, 0).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
Vos lignes seront légèrement différentes des miennes, mais cela ressemblera, le chemin sera différent
:="F:\TELECHARGEMENTS\JOURNAL DES VENTES.xlsx"
et le fichier de destination
Windows("CONSOLIDER.xlsx").Activate
Je vous ai mis l'ensemble de la première copie de fichier et le collage sur votre classeur de destination qui est pour moi "consolider"
Une fois cette partie coller dans votre module, allez sur le classeur que vous venez d'ouvrir pour le copier et fermez le
Retourner dans le module et faites un essai pas à pas
Mettez vous sur la ligne Sub copie_colle et appuyer sur la touche F8
La macro exécute la première ligne appuyez à nouveau la seconde ligne est éxécutée
Si tout se passe bien, vous pouvez copier cette partie du module et la coller en dessous juste avant le Sub de fin et vous changez le nom du classeur un pour le remplacer par le classeur 2
A vous lire pour la suite
Dans un module de votre classeur vous copiez le bout de code que je vous ai mis plus haut de Sub copie_colle à la fin :=False, Transpose:=False
vous rajoutez sur la ligne en dessous End sub pour terminer la macro
Vous reprenez au début de la macro et vous mettez le nom du 1° classeur à copier dans cette ligne
Sheets("classeur 1 à copier").Select
Pour cela vous pouvez utiliser l'enregistreur de macro qui va créer une nouvelle macro dans un nouveau module
Le classeur à copier étant fermé et dans le dossier ou vous le récupérez
Déclencher l'enregistreur de macro et faite la procédure Allez ouvrir le dossier puis le fichier, une fois le fichier ouvert vous pouvez arrêter l'enregistreur. Allez dans le module et vous copiez les lignes
Workbooks.Open Filename:="F:\TELECHARGEMENTS\JOURNAL DES VENTES.xlsx"
Sheets("Feuil1").Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Windows("CONSOLIDER.xlsx").Activate
Sheets("Feuil1").Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveCell.Offset(1, 0).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
Vos lignes seront légèrement différentes des miennes, mais cela ressemblera, le chemin sera différent
:="F:\TELECHARGEMENTS\JOURNAL DES VENTES.xlsx"
et le fichier de destination
Windows("CONSOLIDER.xlsx").Activate
Je vous ai mis l'ensemble de la première copie de fichier et le collage sur votre classeur de destination qui est pour moi "consolider"
Une fois cette partie coller dans votre module, allez sur le classeur que vous venez d'ouvrir pour le copier et fermez le
Retourner dans le module et faites un essai pas à pas
Mettez vous sur la ligne Sub copie_colle et appuyer sur la touche F8
La macro exécute la première ligne appuyez à nouveau la seconde ligne est éxécutée
Si tout se passe bien, vous pouvez copier cette partie du module et la coller en dessous juste avant le Sub de fin et vous changez le nom du classeur un pour le remplacer par le classeur 2
A vous lire pour la suite