[RESOLU]Synthèse données dans plusieurs onglets

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 !

jozerebel

XLDnaute Occasionnel
Salut le fofo,

Petit pb VBA...

J'ai plusieurs onglets avec des données qui doivent être récupérées dans d'autres onglets de synthèse en fonction du modèle associé.

J'aimerais une solution pour rappatrier toutes les données correspondant aux modèles en automatique.

Je mets un fichier en PJ car j'ai l'impression de ne pas être clair... 🙄

Merci pour votre aide précieuse...
 

Pièces jointes

Dernière édition:
Re : Synthèse données dans plusieurs onglets

Bonjour

Essaye ce code
Code:
Sub Dispatche()
Application.ScreenUpdating = False

For i = 4 To 7
Sheets(i).Range("A4:F65536").ClearContents
Next i

For j = 1 To 3

With Sheets(j)

For k = 4 To .Range("A65535").End(xlUp).Row
Feuille = .Cells(k, 3).Value
lg = Sheets(Feuille).Range("A65535").End(xlUp).Row + 1
.Rows(k).Copy Sheets(Feuille).Range("A" & lg)
Next k

End With

Next j

End Sub

Cordialement
Chris
 
Re : [RESOLU]Synthèse données dans plusieurs onglets

Re, Bonjour Chris401


Comme j'ai fait , je poste
(donc fonctionne si seulement toutes les données sur la feuille bdd1)
Code:
Sub testOK()
Dim ws As Worksheet, rX As Range, r As Range, Unique As Range

Application.ScreenUpdating = False

c = 3: Set ws = ThisWorkbook.Sheets("bdd1")

Set rX = Columns(c).Find("*", Cells(1, c), , , xlByColumns, xlPrevious)

ws.Columns(c).AdvancedFilter Action:=1, Unique:=True

Set Unique = _
            Range(Cells(3, c), rX).SpecialCells(12)

For Each r In Unique
    If r <> "" Then
        If r <> "Modèle" Then
        ws.UsedRange.AutoFilter Field:=c, Criteria1:=r.Value
        ws.UsedRange.SpecialCells(12).Copy Destination:=Sheets(CStr(r)).Range("A3")
        End If
    End If
    Next
    
ws.AutoFilterMode = False
Application.ScreenUpdating = True
End Sub
 
Re : [RESOLU]Synthèse données dans plusieurs onglets

Re, salut à tous,

Je tente la piste de Staple 1600 avec une seule BDD.

Seulement, le fichier a quelque peu évolué et la macro ne fonctionne pas comme je le souhaiterais.

En effet, je ne souhaiterais copier que les noms présents dans la colonne A du premier onglet dans les onglets correspondant aux modèles.

A noter que j'ai des données dans les premières lignes de chaque onglet et que la macro me recopie ces données alors qu'elle ne devrait renseigner que les noms à partir de la ligne 4 (colonne A) de chaque onglet "Modèle". A noter également que j'ai des données qui doivent apparaître après les noms copiées et qu'il faudrait donc que la macro insère des lignes si besoin au lieu d'écraser les informations fixes (en cas d'un grand nombre de noms à copier).

Je poste un fichier car j'ai l'impression de ne pas être très clair...

Merci encore pour votre aide.
 

Pièces jointes

Re : Synthèse données dans plusieurs onglets

Bonjour le fofo,

Oui effectivement, comme j'ai remanié le fichier, la macro de staple ne fonctionne plus.

J'ai modifié la macro pour que l'erreur d'indice n'apparaisse plus mais le résultat n'est pas celui attendu (cf post d'hier 14h47).

Une idée?
 

Pièces jointes

Re : Synthèse données dans plusieurs onglets

Salut à tous,

j'avance tt doucement sur la modif de la macro avec mes maigres connaissances...

Mais cela ne fonctionne tjrs pas.

En effet, le filtre s'applique sur la première ligne au lieu de la 4ème. Les noms ne se rapatrient pas et je ne sais pas comment rajouter une ligne dans les onglets "Modèle" si le nombre de lignes disponibles entre A3 et la dernière ligne remplie (A ...., le ) ne correspond pas aux nombre de noms à rapatrier.

Ci-dessous la macro:

Sub rappatriementPP()
Dim ws As Worksheet, rX As Range, r As Range, Unique As Range

Application.ScreenUpdating = False

c = 2: Set ws = ThisWorkbook.Sheets("bdd1")

Set rX = Columns(c).Find("*", Cells(4, c), , , xlByColumns, xlPrevious)

ws.Columns(c).AdvancedFilter Action:=1, Unique:=True

Set Unique = _
Range(Cells(5, c), rX).SpecialCells(12)

For Each r In Unique
If r <> "" Then
If r <> "Modèle" Then
ws.UsedRange.AutoFilter Field:=c, Criteria1:=r.Value
ws.UsedRange.SpecialCells(12).Copy Destination:=Sheets(CStr(r)).Range("A4")
End If
End If
Next

ws.AutoFilterMode = False
Application.ScreenUpdating = True
End Sub

Merci pour votre aide.
 
Re : Synthèse données dans plusieurs onglets

Bonjour à tous


Test OK ici 😉
(Préalable: j'ai supprimé ce qu'il y avait en ligne sur chaque feuille -> Fait le etc..)
(On pourra le remettre ensuite par macro)
Code:
Sub testOK_II()
Dim ws As Worksheet, rX As Range, r As Range, Unique As Range, pf As Range
Application.ScreenUpdating = False
c = 2: Set ws = ThisWorkbook.Sheets("bdd1")

Set rX = Columns(c).Find("*", Cells(1, c), , , xlByColumns, xlPrevious)
ws.Range(Cells(4, c), Cells(rX.Row, c)).AdvancedFilter Action:=1, Unique:=True

Set Unique = Range(Cells(4, c), rX).SpecialCells(12)

For Each r In Unique
    If r <> "" Then
        If r <> "Modèle" Then
        ws.UsedRange.AutoFilter Field:=c, Criteria1:=r.Value
        Set pf = ws.Range("_FilterDataBase")
        pf.Offset(1, 0).Resize(pf.Rows.Count - 1).SpecialCells(12).Copy Destination:=Sheets(CStr(r)).Range("A4")
        End If
    End If
    Next

ws.AutoFilterMode = False
Application.ScreenUpdating = True
End Sub
 
Re : Synthèse données dans plusieurs onglets

Merci Staple,

étant novice également, j'apprends en même temps....

Moi aussi j'ai des soucis dans ce genre de programmation et des sujets postés sur ce forum.

Je suis content car j'apprends en parcourant le forum, mais un peu d'aide me serai bien utile....

Et le devoir civique nous attends tous, enfin presque....
 
- 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
5
Affichages
701
Réponses
5
Affichages
450
Réponses
9
Affichages
825
P
Réponses
3
Affichages
752
punk_sportif
P
Retour