Plusieurs fichier en un seul
Fermé
rachton92
Messages postés
14
Date d'inscription
mercredi 29 avril 2015
Statut
Membre
Dernière intervention
22 mai 2015
-
30 avril 2015 à 14:42
PHILOU10120 Messages postés 6388 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 13 septembre 2024 - 4 mai 2015 à 11:38
PHILOU10120 Messages postés 6388 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 13 septembre 2024 - 4 mai 2015 à 11:38
A voir également:
- Plusieurs fichier en un seul
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier host - Guide
- Fichier iso - Guide
3 réponses
PHILOU10120
Messages postés
6388
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
13 septembre 2024
809
30 avril 2015 à 17:05
30 avril 2015 à 17:05
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
PHILOU10120
Messages postés
6388
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
13 septembre 2024
809
4 mai 2015 à 10:43
4 mai 2015 à 10:43
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.
rachton92
Messages postés
14
Date d'inscription
mercredi 29 avril 2015
Statut
Membre
Dernière intervention
22 mai 2015
4 mai 2015 à 10:51
4 mai 2015 à 10:51
oui je suis en train de me familiariser avec , je commence à créer pas mal de macros assez simple d'ailleurs . j'ai réussi a trouver une macro qui fusionne plusieurs feuille d'un même un fichier , mais pas de plusieurs fichiers.
PHILOU10120
Messages postés
6388
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
13 septembre 2024
809
4 mai 2015 à 11:38
4 mai 2015 à 11:38
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
4 mai 2015 à 10:31