Consolidation de données dans 1 onlget

oliverthekid

XLDnaute Nouveau
Bonjour,

Je cherche à consolider des données présentent sur 100 onglets, et sur chacun des 100 onglets, ces données sont présentent de la cellule B3 à la cellule L16.
Je cherche ici a établir une liste sur 1 seul onglet.

Je vous ai joint un exemple!

Merci pour votre aide!
 

Pièces jointes

  • Conso.xls
    56 KB · Affichages: 79
  • Conso.xls
    56 KB · Affichages: 72
  • Conso.xls
    56 KB · Affichages: 73
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Consolidation de données dans 1 onlget

Bonjour oliverthekid, le fil, le forum
Une proposition par macro:
VB:
Private Sub CommandButton1_Click()
Dim F As Worksheet, TabTemp()
Application.ScreenUpdating = False
For Each F In Worksheets
    If F.Name <> "Onglet de Consolidation" Then
        TabTemp = F.Range(F.Cells(3, 2), F.Cells(Rows.Count, 12).End(xlUp)).Value
        Sheets("Onglet de Consolidation").Cells(Rows.Count, 2). _
        End(xlUp)(2).Resize(UBound(TabTemp, 1), 11) = TabTemp
    End If
Next F
Application.ScreenUpdating = True
End Sub
Cordialement
 

Pièces jointes

  • oliverthekid(2).xls
    58 KB · Affichages: 68

oliverthekid

XLDnaute Nouveau
Re : Consolidation de données dans 1 onlget

Pardon, voila la piece jointe!

Le but est d'avoir une liste (dans l'onglet "list") constituée de toutes les données présentes dans chaque onglet, de B3 à maximum l20.

Merci!
 

Pièces jointes

  • OLI LISTING EXAMPLE.xls
    33 KB · Affichages: 66
  • OLI LISTING EXAMPLE.xls
    33 KB · Affichages: 65
  • OLI LISTING EXAMPLE.xls
    33 KB · Affichages: 65

DoubleZero

XLDnaute Barbatruc
Re : Consolidation de données dans 1 onlget

Bonjour à toutes et à tous,

@ oliverthekid,

A mon grand regret, je n'ai encore trouvé aucune solution "propre" :(.

Si personne d'autre ne venait à la rescousse, je posterais mon "brouillon".

A bientôt :).
 
Dernière édition:

oliverthekid

XLDnaute Nouveau
Re : Consolidation de données dans 1 onlget

Bonjour,

Merci pour ta réponse DoubleZero, effectivement ta nouvelle macro marche tres bien.
J'ai compris que tu avait changer la range de la copie des données (B20 au lieu de B65000), en revanche pourrais tu m'expliquer quel effet cela a eu d'enlever le End(x1Up) (voir ci dessous)?

merci!



Range(Sheets(s).[B3], Sheets(s).[B20].End(xlToRight)).Copy _
[B65000].End(xlUp).Offset(1, 0)

Range(Sheets(s).[B3], Sheets(s).[B65000].End(xlDown).End(xlToLeft)).Copy _
[B65000].End(xlUp).Offset(1, 0)
 

DoubleZero

XLDnaute Barbatruc
Re : Consolidation de données dans 1 onlget

Bonjour, le Fil, le Forum,

... en revanche pourrais tu m'expliquer quel effet cela a eu d'enlever le End(x1Up)...

Cette première ligne signifie que nous copions la plage de cellules allant de B3 à la dernière cellule renseignée de la colonne B.

Code:
Range(Sheets(s).[B3], Sheets(s).[B65000].End(xlUp).End(xlToRight)).Copy [B65000].End(xlUp).Offset(1, 0)

Cette seconde ligne fixe des limites : nous importons la plage de cellules allant de B3 à B20.

Code:
Range(Sheets(s).[B3], Sheets(s).[B20].End(xlToRight)).Copy [B65000].End(xlUp).Offset(1, 0)

Attention : j'aperçois une ânerie :mad: dans le fichier transmis hier, à 19h46. Il faut remplacer l'avant dernière ligne de code.

Au lieu de :

Code:
Application.ScreenUpdating = False

Ecrire :

Code:
Application.ScreenUpdating = True

Bonne continuation :).
 

Discussions similaires

Statistiques des forums

Discussions
312 337
Messages
2 087 391
Membres
103 534
dernier inscrit
Kalamymustapha