Consolidation de données dans 1 onlget

  • Initiateur de la discussion Initiateur de la discussion oliverthekid
  • Date de début Date de début

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 !

O

oliverthekid

Guest
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

Dernière modification par un modérateur:
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

Re : Consolidation de données dans 1 onlget

Bonjour,

@ DoubleZero: Est-il possible de changer la range, pour que la macro prenne toutes les données de la cellule B3 à la cellule B20, meme si il n'y a rien?

Merci!

Olivier.
 
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

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:
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)
 
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 😡 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 🙂.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
702
Réponses
6
Affichages
336
Retour