Créer une feuille récap de plusieurs feuilles contanant chacune un tableau [resolu]

080glamspurple080

XLDnaute Nouveau
Bonjour,

J'ai plusieurs feuilles dans mon classeurs avec des tableaux quasi identiques (certains libellés de ligne peuvent changer)

Exemple :

Feuille 1 Tableau 1:
a 1
b 2
c 3
d 4

Feuille 2 Tableau 2 :

a 5
f 6
c 9
d 4

Mon but est d'avoir une feuille récap :

a 1 a 5
b 2 f 6
c 3 c 9
d 4 d 4

J'ai utilisé ces deux macros (trouvé sur le web) qui ont un résultat identique :

Macro 1 :
Option Explicit
Sub Macro1()
Dim ws As Worksheet, i As String
Application.ScreenUpdating = False
Cells.Delete
i = ActiveSheet.Name
For Each ws In Worksheets
If ws.Name <> "TABLEAU RECAP" Then
Sheets(ws.Name).Activate
Range("a1:E" & Range("a65536").End(xlUp).Row).Copy _
Destination:=Sheets("TABLEAU RECAP").[A65536].End(xlUp).Offset(1, 0)
End If: Next ws: Sheets(i).Select: [a1].Select: Columns("A:E").ColumnWidth = 18
End Sub

Macro 2 :

Sub recap()
Dim sh As Worksheet
For Each sh In Worksheets
If sh.Name <> "Recap" Then
sh.[A2].Resize(sh.[A65536].End(xlUp).Row - 1, 10).Copy Destination:=Worksheets("Recap").[A65536].End(xlUp).Offset(1, 0)
End If
Next sh
End Sub

Le problème c'est que mes tableaux se mettent à la suite en colonne et non en ligne.
Pourriez-vous m'aider s'il vous plait ?
Les TCD ne sont pas possible car certaines lignes n'ont pas les mêmes libellés.
Je ne peux pas utiliser la fonction indirect car mon nombre de feuille est aléatoire.
 
Dernière édition:

vgendron

XLDnaute Barbatruc
Re : Créer une feuille récap de plusieurs feuilles contanant chacune un tableau

Bonjour,
suffit de modifier la macro

Code:
Sub Macro1()
Dim ws As Worksheet, i As String
Application.ScreenUpdating = False
Cells.Delete
i = ActiveSheet.Name
For Each ws In Worksheets
    If ws.Name <> "TR" Then
        Sheets(ws.Name).Activate
        Range("a1:E" & Range("a65536").End(xlUp).Row).Copy _
        Destination:=Sheets("TR").[XFD3].End(xlToLeft).Offset(0, 1)
    End If: Next ws: Sheets(i).Select: [a1].Select: Columns("A:E").ColumnWidth = 18
End Sub
 
Dernière édition:

vgendron

XLDnaute Barbatruc
Re : Créer une feuille récap de plusieurs feuilles contanant chacune un tableau

bah chez moi ca fonctionne..
mais vu qu'on a pas ton fichier exemple..
peut etre qu'avec on comprendrait ce que tu veux dire en colonnes plutot qu'en ligne.
peut etre qu'on saurait si
Feuille 1 Tableau 1:
a 1
b 2
c 3
d 4

Feuille 2 Tableau 2 :

a 5
f 6
c 9
d 4

Mon but est d'avoir une feuille récap :

a 1 a 5
b 2 f 6
c 3 c 9
d 4 d 4
ce sont des valeurs sur deux colonnes ou dans la meme ou est ce que c'est juste les intitulés de colonne etc etc

bref. on aurait pas besoin de s'appeler Irma.
 

080glamspurple080

XLDnaute Nouveau
Re : Créer une feuille récap de plusieurs feuilles contanant chacune un tableau

J’essaie d’être la plus explicite et poli possible dans mes messages. Je ne suis pas venue sur le forum pour me faire prendre de haut. Il suffit de me dire que mes explications ne sont pas assez claires sans être insuffisant.
 

vgendron

XLDnaute Barbatruc
Re : Créer une feuille récap de plusieurs feuilles contanant chacune un tableau

Pfff. qu'est ce qu'il faut pas faire pour avoir un fichier exemple!
Je ne pense pas etre Suffisant, par contre, tes explications étaient insuffisantes

et quand j'ouvre ton fichier.. je ne vois meme pas la macro que je t'ai proposée. l'as tu au moins essayée?
as tu cherché pourquoi ca ne marche pas?: pour t'aider la prochaine fois, lance la macro en mode pas à pas: touche F8: tu verra ainsi quelle ligne bloque
et donc pour finir, comme nous n'avons pas la meme version d'excel, le dernière colonne n'est pas la meme. chez moi XFD et chez toi IV d'ou le plantage

avec ce code, ca devrait mieux aller

Code:
Sub Macro1()
Dim ws As Worksheet, i As String
Application.ScreenUpdating = False
Cells.Delete
i = ActiveSheet.Name
For Each ws In Worksheets
    If ws.Name <> "TABLEAU RECAP" Then
        Sheets(ws.Name).Activate
        Range("a1:E" & Range("a65536").End(xlUp).Row).Copy _
        Destination:=Sheets("TABLEAU RECAP").[IV3].End(xlToLeft).Offset(0, 1)
    End If: Next ws: Sheets(i).Select: [a1].Select: Columns("A:E").ColumnWidth = 18
End Sub

et si tu es interressée par la compréhension (pas juste un: ca marche pas !) ce sera avec plaisir
 

080glamspurple080

XLDnaute Nouveau
Re : Créer une feuille récap de plusieurs feuilles contanant chacune un tableau

Merci. La macro que tu m'as donné en premier est dans le fichier que j'ai mis en test elle s'appelle macro1, je ne sais pas pourquoi tu ne la vois pas.
Bien sure, que j'ai fait des tests avant de dire que ça ne fonctionnait pas mais comme mes notions en VBA sont proche de 0, c'est du bidouillage et je ne bidouillais pas au bon endroit.
Si je ne mettais pas creusé la tête avant, je n'aurais même pas eu un bout de macro dans ma question.
 

Discussions similaires

Réponses
7
Affichages
292
Réponses
17
Affichages
251

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof