Mettre 3 tableaux excel sur la même feuille [Résolu/Fermé]

Signaler
Messages postés
44
Date d'inscription
jeudi 28 mars 2013
Statut
Membre
Dernière intervention
14 mars 2016
-
Messages postés
44
Date d'inscription
jeudi 28 mars 2013
Statut
Membre
Dernière intervention
14 mars 2016
-
Bonjour,

J'ai 3 tableaux excel (dans 3 classeurs différents) que je souhaite qu'il soient dans la même feuille de la façon suivante: Je souhaite que excel prenne le premier tableaux, insère des colonnes vides entre chaque colonne et puis colle toutes les colonnes du 2ème tableau dans les colonnes ajoutées dans le 1er. Puis procéder de la même façon pour insérer le 3ème tableau.
Est ce que c'est faisable?
Merci d'avance de votre aide

3 réponses

Messages postés
12
Date d'inscription
lundi 14 avril 2014
Statut
Membre
Dernière intervention
27 mai 2014

Salut, oui c'est possible:

Tu as trois tableau T1, T2, T3 et Tv le tableau vide.

tu prends la cellule A1 de Tv et tu lui met = A1 de T1
tu prends la cellule A2 de Tv et tu lui met = A1 de T2
tu prends la cellule A3 de Tv et tu lui met = A1 de T3

Tu refais autant que nécessaire
tu prends la cellule A4 de Tv et tu lui met = A2 de T1
tu prends la cellule A5 de Tv et tu lui met = A2 de T2
tu prends la cellule A6 de Tv et tu lui met = A2 de T3

tu développes tes formules pour avoir le tableau complet

à partir de là il se mettra tout seul à jour
Messages postés
13006
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
8 mai 2021
2 188
Bonsoir

Oui c'est faisable par macro

Exemple : modifier les colonnes si nécessaire et remplacer classeur1, classeur2 ... par les noms de tes classeurs et Feuil1 par le(s )nom(s) de tes feuilles

macro à mettre dans le classeur 1 (Alt F11 pour ouvrir l'éditeur VBA - copier coller la macro) età lancer à partir du classeur 1(Onglet Developpeur Macros) les 2 autres classeurs étant ouverts

Sub inser()

n2 = 65 'on commence à copier à partir colonne A (A= code 65)
For x = 2 To 14 Step 3 ' ' On insère à partir de la colonne 2 (B) jusqu'à la colonne 14 (N)
n = 64 + x 'lettre de la nième colonne
'selection de la 1ere feuille
Sheets("Feuil1").Select
'selection de la nieme colonne dans le 1er classeur
Columns(Chr(n) & ":" & Chr(n)).Select
'insertion d'une colonne à droite
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
'reselection même colonne
Columns(Chr(n) & ":" & Chr(n)).Select
'insertion d'une autre colonne
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
'selection du 2ème classeur
Windows("Classeur2").Activate
'selection de la 1ere feuille
Sheets("Feuil1").Select
'selection de la colonne (A puis B etc selon l'incrémentation de n2)et copie
Columns(Chr(n2) & ":" & Chr(n2)).Select
Selection.Copy
'sélection du 1er classeur de la 1ere feuille et de la nieme colonne
Windows("Classeur1").Activate
Sheets("Feuil1").Select
Columns(Chr(n) & ":" & Chr(n)).Select
' collage de la copie du classeur 2
ActiveSheet.Paste
'selection du 3eme classeur
Windows("Classeur3").Activate
'selection de la mêm colonne que le 2eme et copy
Sheets("Feuil1").Select
Columns(Chr(n2) & ":" & Chr(n2)).Select
Selection.Copy
' selection du 1er classeur et de la colonne à droite de la nième colonne (n+1)
Windows("Classeur1").Activate
Sheets("Feuil1").Select
Columns(Chr(n + 1) & ":" & Chr(n + 1)).Select
' collage de la copie du claseur 3
ActiveSheet.Paste
'incrementation de variable n2
n2 = n2 + 1

Next


End Sub

Cdlmnt
Messages postés
13006
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
8 mai 2021
2 188
Bonjour

Les étapes sont celles que je t'ai déjà indiqué, mais je détaille plus :
1° dans le classeur où doivent être regroupées les données ouvrir l'éditeur VBA avec ALT F11
2° Copier la macro du message précédent
Onglet Insertion puis Module et coller la macro dans la fenêtre blanche
3° Modifier dans la macros les n°s de colonnes dans For x = 2 To 14 Step 3 en fonction des endroits où tu veux inserer , dans la macro j'ai mis 2 comme point de départ pour inserer après la colonne A (la 1) et pour inserer 5 fois les 2 colonnes donc la dernière insertion en colonne N(la 14eme)
3° Remplacer dans la macro les noms des classeurs où copier les données et où prendre les données,( j'ai nommé le classeur de réception Classeur1 et les autres Classeurs2 et 3) par tes vrais noms de classeurs
4° Remplacer dans la macro les noms des feuilles où coller et où copier les données (j'ai nommé toutes les feuilles Feuil1) par les vrais noms de tes feuilles dans les différents classeurs
5° Remplacer éventuellement dans la 1ere ligne n2 = 65 le 65 par un autre nombre si necessaire, 65 étant le code pour la lettre A, la macro copiera les ddonnées dans les 2 classeurs à partir de la colonne; si la copie ne devait commencer qu'à la lettre B il faudrait mettre 66, ou 67 pour C etc
La macro ne permet d'inserer des colonnes et de copier des colonnes que jusqu'à la colonne Z
(vu le codage des 26 lettres de l'alphabet) ; s'il était nécessaire d'aller plus loin il faudrait compléter et compliquer la macro
6° Fermer l'éditeur VBA
7° Ouvrir les deux autres classeurs en même temps que le 1er
8° Revenir dans le premier et lancer la macro en allant dans onglet Developpeur, puis Macros choisir la macro inser dans la liste et Executer
Si l'Onglet développeur n'apparait pas dans ton ruban, aller dans le bouton Excel en haut à gauche, Options Excel et cocher la case Activer l'onglet Developpeur ...

Un conseil fais une copie d'une classeur où doivent être copiées les données avant de lancer la macro, pour pallier le risque d'effacement intempestifs de données si tu te trompais dans les n° de colonnes dans la macro

Cdlmnt
Messages postés
44
Date d'inscription
jeudi 28 mars 2013
Statut
Membre
Dernière intervention
14 mars 2016

Bonjour,
Je vous remercie infiniment! c'est vraiment ce dont j'avais besoin! Merci Merci c'est résolu
Cordialement
Messages postés
44
Date d'inscription
jeudi 28 mars 2013
Statut
Membre
Dernière intervention
14 mars 2016

Excusez-moi je voudrais bien savoir si jamais j'ai plus que 2 autres classeurs à insérer dans le classeur 1 alors ça serait quoi la modification que je dois faire dans la macro?
Merci d'avance
Messages postés
13006
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
8 mai 2021
2 188
1) faire insérer plus de colonnes
rajouter autant de fois que nécessaire ces lignes
'reselection même colonne
Columns(Chr(n) & ":" & Chr(n)).Select
'insertion d'une autre colonne
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

2) Recopier toute la partie du classeur 3
'selection du 3eme classeur
Windows("Classeur3").Activate
'selection de la mêm colonne que le 2eme et copy
Sheets("Feuil1").Select
Columns(Chr(n2) & ":" & Chr(n2)).Select
Selection.Copy
' selection du 1er classeur et de la colonne à droite de la nième colonne (n+1)
Windows("Classeur1").Activate
Sheets("Feuil1").Select
Columns(Chr(n + 1) & ":" & Chr(n + 1)).Select
' collage de la copie du claseur 3
ActiveSheet.Paste


La coller à la suite en changeant :
-le nom Classeur 3 en Classeur 4
- les n+1 en n+2 (pour inserer à la colonne suivante)

si classeur 5 tu refais la même manip en mettant Classeur5 et n+3 etc

toutes ces lignes ajoutées le sont à la suite les unes des autres et AVANT les dernières lignes :
'incrementation de variable n2
n2 = n2 + 1


Cdlmnt
Messages postés
44
Date d'inscription
jeudi 28 mars 2013
Statut
Membre
Dernière intervention
14 mars 2016

Je vous remercie infiniment de votre réponse
Messages postés
44
Date d'inscription
jeudi 28 mars 2013
Statut
Membre
Dernière intervention
14 mars 2016

Merci de votre réponse, Mais le problème est que chaque tableau est composé de 1600 lignes et 11 colonnes, Donc il me serait difficile de le faire manuellement. Pourriez-vous m'indiquer s'il y a une autre solution?
Merci d'avance