Regrouper données de plusieurs feuilles sur une seule

fred580

XLDnaute Nouveau
Bonjour à toutes et à tous !

comme indique mon titre, j'aimerais savoir comment on peut procéder pour regrouper des données de plusieurs feuilles sur une feuille unique (sur un classeur unique).
je pense que l'exemple sera plus clair que mes paroles, dans la feuille "BD" regrouperait toutes mes données et lors de rajout sur une des feuilles, la feuille "BD" pourrait se mettre à jour
je sais que cette question a déjà été posé, j'ai vu pas mal de réponse sur le forum mais je n'arrive pas à l'adapter à mon projet (je débute en VBA)
mes colonnes sont identiques entre chaque feuille, juste le nombre de ligne varie

j'espère que vous pourrez m'aider car même si ça parait tout bête, pour moi c'est assez complexe à résoudre
merci d'avance :)
 

Pièces jointes

  • Regroupement test.xlsx
    56.4 KB · Affichages: 81

Chris401

XLDnaute Accro
Re : Regrouper données de plusieurs feuilles sur une seule

Bonsoir

Code dans un module
Code:
Sub Regroupe()
Application.ScreenUpdating = False
Dim i As Integer
Dim Premlg As Integer, Derlg As Integer

'Efface les anciennes données
Derlg = Sheets("BD").Range("A65536").End(xlUp).Row
Sheets("BD").Range("A2:W" & Derlg).ClearContents

'A partir de la 2ème feuille jusqu'à la dernière
For i = 2 To Worksheets.Count
  
'Avec la 1ère feuille concernée
With Sheets(i)

'Copie les données de A2 à V dernière ligne non vide et les colle dans la 1ère cellule vide de la colonne A de la feuille "BD"
.Range("A2", .Cells(.Range("A65536").End(xlUp).Row, 25)).Copy Destination:=Sheets("BD").Range("A65536").End(xlUp)(2)

'Marque le nom de la feuille en colonne W
Premlg = Sheets("BD").Range("W65536").End(xlUp).Row + 1
Derlg = Sheets("BD").Range("A65536").End(xlUp).Row
Sheets("BD").Range("W" & Premlg & ":W" & Derlg) = Sheets(i).Name

End With
    
'Feuille suivante
Next i

End Sub

Code dans la feuille BD
Code:
Private Sub Worksheet_Activate()
Call Regroupe
End Sub

Cordialement
Chris
 

Pièces jointes

  • Copie de Regroupement test.xlsm
    71.1 KB · Affichages: 90

fred580

XLDnaute Nouveau
Re : Regrouper données de plusieurs feuilles sur une seule

Bonjour j'ai une petite question supplémentaire, je cherche à copier/coller la même formule sur toute la feuille (de A1:W100000 au moins), y'a t-il un moyen simple et rapide ou dois-je descendre avec le curseur pour copier ?
merci d'avance
 

Chris401

XLDnaute Accro
Re : Regrouper données de plusieurs feuilles sur une seule

Bonsoir

Dans ce code, la formule est =AUJOURDHUI()

Pour traduire ta formule, tu l'écris en A1
Tu sélectionnes A1
Tu lances l'enregistreur de macro
Tu te places dans la barre de formule et tu fais Entrée
Tu arrêtes l'enregistrement

Tu n'as plus qu'à récupérer la formule traduite dans le module.

Code:
Sub Formule()
Range("A1:W10000").FormulaR1C1 = "=TODAY()"
End Sub

Cordialement
Chris
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 848
dernier inscrit
Djigbenou