Comment ajouter plusieurs liste pour n'en faire qu'une?

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Paritec

XLDnaute Barbatruc
Bonjour le Forum,
j'ai pour mon boulot beaucoup de classeur excel qui ont un nombre de feuilles variables mais avec des listes en nombre de colonne identique en général 9 à 12 colonnes (tous les classeurs ont des feuilles avec un nombre de colonnes identique)
est-il possible de faire une boucle permettant dans une feuille séparée de mettre les feuilles les unes au bout des autres pour n'obtenir qu'une seule liste?
sans la ligne 1 qui est la lignes des libelés.
L'idéal serait une boucle qui copie sans avoir à définir le nombre de colonnes pour que cette boucle je puisse l'utiliser dans tout les classeurs.
dans l'attente de vos réponses
a+
Papou
 
Re : Comment ajouter plusieurs liste pour n'en faire qu'une?

Salut,

Afin d'etre sur et d'adapter directement le code, peut tu nous mettre un exemple d'un de tes classeurs, avec le bon emplacement des colonnes...
Parce que ce qu'il faut voir aussi, c'est ce qu'on fait si cette feuille recapitulatif existe deja, on ne fait rien ? on la vide ?

@+
 
Re : Comment ajouter plusieurs liste pour n'en faire qu'une?

Bonjour,

Une autre question, il y aurai apparemment plusieurs classeurs, ce que tu ne précise pas c'est le nombre de ligne de chaque classeur, on risque de dépasser le nombre de ligne d'une feuille.
 
Re : Comment ajouter plusieurs liste pour n'en faire qu'une?

Bonjour Porcinet, Pyrof,
Alors oui vous avez raison j'ai été avare de renseignements.
Il y a effectivement plusieurs classeurs qui seront traités séparément. (pas de lein entre eux)
pour les colonnes Porcinet c'est de A:I le plus souvent mais cela peut-être de A:L
l'idéal serait d'avoir une boucle qui se moque du nombre de colonne qui cherche la dernière colonnes et dernière ligne de chaque feuilles et qui l'ajoute à la feuille cumul.
à la question est-ce que la feuille récap existe, Non elle est à créer et si elle existe de toute façon je la viderai en quittant. et si elle existe elle ne doit donc pas être créée.
Donc si elle existe quand je lance la boucle je souhaite faire le cumul l'ensemble des feuilles a la suite l'une de lautre exemple si le classeur à 5 feuilles de 5, 10, 15, 20,25 lignes je souhaite obtenir une liste de 75 lignes, soit 5+10+15+20+25 lignes et mettre cela dans la feuil6 récap ou cumul
Et pour le nombre de colonnes si mes feuilles ont 12 colonnes copier les 12 et si il n'y en a que 9 copier les 9. Ou 10 s'il t en a 10 !
J'espère que j'ai été plus clair, enfin c'est toujours facile de se comprendre quand on sait ce que l'on veut faire pas aussi simple d'expliquer.
Porcinet c'est pas simple pour le classeur exemple car beaucoup de feuilles sont remplies par des requêtes qui pioche dans une base externe, mais si tu le veux vraiment je te ferai un exemple bidon pour que tu ais une idée.
dans l'attente de vos réponse
a+
Papou
 
Re : Comment ajouter plusieurs liste pour n'en faire qu'une?

Re Porcinet, Pirof, le forum,
J'ai oublié de répondre à une question de Pirof, non le nombre de lignes en cumul ne sera pas supérieur à la capacité d'une feuille, je serai au maxi à 15000 lignes donc par rapport au 65000 possible pas de soucis.
a+
Papou
 
Re : Comment ajouter plusieurs liste pour n'en faire qu'une?

Autre question

Tu dis que le nombre de colonne peut varier d'une feuille à une autre.

Exemple
feuille 1
colonne 1 = nom
colonne 2 = prénom
colonne 3 = téléphone

feuille 2
colonne 1 = nom
colonne 2 = prénom
colonne 3 = email

la colonne 3 ne contient pas le même type d'information

il faudrait en cumul :
colonne 1 = nom
colonne 2 = prénom
colonne 3 = téléphone
colonne 4 = email

Ce qui plus difficile à gérer
 
Re : Comment ajouter plusieurs liste pour n'en faire qu'une?

Re Pyrof, le forum,
Les feuilles ont strictement les mêmes informations, en fonction des classeurs le nombre de feuilles et de colonnes peut différer, mais si il y a 10 feuilles elle ont la même structures si la feuil1 A c'est Nom la feuil2 A c'est Nom et la feuille x A c'est Nom pareil pour toutes les colonnes.
Et toutes les feuilles ont des étiquettes en ligne 1, qui par classeur sont toutes identiques
de la feuil1 à la feuille x .
a+
Papou
 
Re : Comment ajouter plusieurs liste pour n'en faire qu'une?

Bonjour à tous

regarde le code ci dessous, à adapter à ton projet, une feuille "Recap" doit être présente dans le classeur... A voir si cela peut t'aider à avancer...

Code:
Dim ws As Worksheet
For Each ws In wb.Worksheets
                If ws.Name <> "Recap" Then ws.Range(Range("A2"), ws.Cells(ws.Range("A65536").End(xlUp).Row, ws.Range("IV1").End(xlToLeft).Column)).Copy _
                Sheets("Recap").Range("A65536").End(xlUp).Offset(1, 0)
Next ws

bon après midi
@+

Edition : avait oublié de controler le nom de la récap..
2ème édition, modifié le nom de la feuille...
 
Dernière édition:
Re : Comment ajouter plusieurs liste pour n'en faire qu'une?

Bonsoir Pierrot , le forum
quel plaisir de te retrouver là-dessus, je ne suis pas sur que je vais arriver à m'en sortir avec ta macro mais je vais éssayer tout de suite et je te dirai ça
a+
Papou
 
Re : Comment ajouter plusieurs liste pour n'en faire qu'une?

Bonsoir Pierrot, le forum,
je ne comprend pas pourquoi mais j'ai un défaut et la ligne là est en jaune
For Each ws In wb.Worksheets

Alors la question est-ce que la feuille recap doit faire partie du classeur ?
Car moi ce que je pensais c'est ajouter une feuille au classeur pour justement faire la récap
à te lire
Papou
 
Re : Comment ajouter plusieurs liste pour n'en faire qu'une?

Re

ci dessous code qui fonctionne chez moi, à la condition qu'il y ait des données sur chacune des feuilles...

Code:
Dim ws As Worksheet
On Error Resume Next
Set ws = Sheets("Recap")
If Err.Number = 9 Then Sheets.Add.Name = "Recap"
On Error GoTo 0
For Each ws In Worksheets
    If ws.Name <> "Recap" Then ws.Range(Range("A2"), ws.Cells(ws.Range("A65536").End(xlUp).Row, ws.Range("IV1").End(xlToLeft).Column)).Copy _
        Sheets("Recap").Range("A65536").End(xlUp).Offset(1, 0)
Next ws

j'en ai profité pour rajouté un test sur l'existance de la feuille "recap" et le cas échéant sa création...

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
888
T
Réponses
2
Affichages
1 K
TrXtan
T
Réponses
7
Affichages
1 K
Retour