trier des données de plusieurs feuilles puis les regrouper dans une même feuille

veste

XLDnaute Nouveau
Bonjour,
Je travail sous excell 2007.
J'aimerais trier des données de plusieurs feuilles puis les regrouper dans une même feuille.
Mon fichier se présente de cette facon:
chaque feuille ont la même structure (étiquette de colone)
une feuile se compose :
-une colone a désigantion
- une colone b ref
- une colone c bidulle
- une colone d stock

Le trie se ferait par la colone stock lorsque la variable O est inscrite.
J'aimerais qu'il trie puis me recopie la désigantion et référence de chque article dans une nouvelle feuille. Ainsi j'aurais la liste des articles à envoyer au fournisseur.
J'espére avoir été clair. Ce qui n'est pas évident. Je vous remercie d'avance pour votre aide.
 

Pièces jointes

  • regroupement.xls
    19 KB · Affichages: 173
  • regroupement.xls
    19 KB · Affichages: 184
  • regroupement.xls
    19 KB · Affichages: 190

Cousinhub

XLDnaute Barbatruc
Re : trier des données de plusieurs feuilles puis les regrouper dans une même feuille

Bonjour,

peux-tu préciser un peu ta demande?

Dans ton fichier tu as deux "états" o (oui?) et n (non?)

Doit-on comprendre que si tu as un état "n", tu dois envoyer ta commande, ou l'inverse?

Est-ce que ce sont toujours des "o" ou "n", ou il y a parfois des chiffres (quantité en stock?)

Bref, tu as 3 tableaux dans 3 onglets différents, si tu pouvais mettre dans le 4ème le tableau que tu désires....

Et aussi, sur combien de lignes max chaque tableau? (approximativement)

A te relire
 

veste

XLDnaute Nouveau
Re : trier des données de plusieurs feuilles puis les regrouper dans une même feuille

Dans un premier temps merci de tarder sur mon probléme.
Dans la colonne stock il ne peut avoir seulement la variable o pour oui et n pour non et en aucun cas un chiffre.
sur mon tableau recapitulatif feuille 4 je retrouverais seulement la colone A désignation et la colone B référence si dans les feuilles 1,2 et 3 j'ai la mention O dans la colonne Stock
Est-ce un peu plus clair?
 

veste

XLDnaute Nouveau
Re : trier des données de plusieurs feuilles puis les regrouper dans une même feuille

milles excuse!!je voulais dire: "merci de t'attarder sur mon probléme".:rolleyes:
Pour ce qui est du nombre de ligne, je pense que maxi j'arriverais à 100 lignes par onglet à trier
 
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Re : trier des données de plusieurs feuilles puis les regrouper dans une même feuille

Re-,

regarde l'exemple joint, et reviens si tu as du mal à l'adapter à ton fichier réel...
 

Pièces jointes

  • veste_v1.xls
    41.5 KB · Affichages: 434

veste

XLDnaute Nouveau
Re : trier des données de plusieurs feuilles puis les regrouper dans une même feuille

C'est nickel c'est ce que je voudrais que cela fasse mais je n'arrive pas à l'adapter sur mon fichier réel.
je te joins donc un fichier avec la même mise en forme que mon fichier réel
Merci
 

Pièces jointes

  • veste_v1(2).zip
    16.9 KB · Affichages: 123
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Re : trier des données de plusieurs feuilles puis les regrouper dans une même feuille

Re-,

A priori, ton fichier n'est pas passé..

il doit faire moins de 48 Ko (zippé)

Garde juste 2 feuilles de données, et la feuille récap...

Avec une dizaine de lignes dans chaque feuille (sauf Récap, bien sûr)
 

Cousinhub

XLDnaute Barbatruc
Re : trier des données de plusieurs feuilles puis les regrouper dans une même feuille

Re-,

essaie avec ce code :

Code:
Sub recap()
Dim Sh As Worksheet
Dim DerLig As Long
Application.ScreenUpdating = False
With Sheets("recap")
    .Range("A2:B1000").Clear
    .Range("N1") = "stock": .Range("N2") = "o"
    Sheets("Feuil1").Range("B1:C1").Copy .Range("A1")
    For Each Sh In Sheets
        If Sh.Name <> "recap" Then
            DerLig = .[A65000].End(xlUp).Row + 1
            Sh.Range("B1:C1").Copy .Cells(DerLig, 1)
            Sh.Range("B1:N" & Sh.[B65000].End(xlUp).Row).Name = "base"
            Sh.Range("base").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=.Range( _
                "N1:N2"), CopyToRange:=.Range(.Cells(DerLig, 1), .Cells(DerLig, 2)), Unique:=False
            .Rows(DerLig).Delete
            .Range("N2") = "o"
        End If
    Next Sh
    .Columns(14).Clear
End With
End Sub

Et dis quoi...
 

veste

XLDnaute Nouveau
Re : trier des données de plusieurs feuilles puis les regrouper dans une même feuille

Nickel ca fonctionne,mais si j'insére d'autres feuilles qui elles n'ont rien à voir exemple un graph ou un tableau différent alors là ca ne fonctione plus.
pourquoi?
 

Cousinhub

XLDnaute Barbatruc
Re : trier des données de plusieurs feuilles puis les regrouper dans une même feuille

Re-,

effectivement, là, je n'ai prévu que 3 feuilles de données, et une feuille Recap..

on peut définir les feuilles à traiter, en les incluant dans un Array() du style :

Code:
Sub recap()
Dim Sh
Dim DerLig As Long
Dim LesFeuilles
Application.ScreenUpdating = False
[COLOR="Red"]LesFeuilles = Array("Feuil1", "Feuil2", "Feuil3")[/COLOR]
With Sheets("recap")
    .Range("A2:B1000").Clear
    .Range("N1") = "stock": .Range("N2") = "o"
    Sheets("Feuil1").Range("B1:C1").Copy .Range("A1")
    For Each Sh In LesFeuilles
        DerLig = .[A65000].End(xlUp).Row + 1
        Sheets(Sh).Range("B1:C1").Copy .Cells(DerLig, 1)
        Sheets(Sh).Range("B1:N" & Sheets(Sh).[B65000].End(xlUp).Row).Name = "base"
        Sheets(Sh).Range("base").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=.Range( _
            "N1:N2"), CopyToRange:=.Range(.Cells(DerLig, 1), .Cells(DerLig, 2)), Unique:=False
        .Rows(DerLig).Delete
        .Range("N2") = "o"
    Next Sh
    .Columns(14).Clear
End With
End Sub

Tu adaptes les noms des feuilles dans l'Array (LesFeuilles)
 

AliceC

XLDnaute Nouveau
Re : trier des données de plusieurs feuilles puis les regrouper dans une même feuille

Bonjour à tous et merci pour ce forum trés instructif,

Mon problème est similaire à celui de veste et j'ai essayé d'adapter son code à mon fichier (mes tableaux n'étant pas situés en A1).
Apparamment ça ne fonctionne pas, et je demande votre aide.
Je vous joins mon fichier, avec toute la structure et la macro que j'ai adaptée.

En fait j'ai plusieurs onglets (de "Actifs" à "Risques") où tous ont le même tableau je veux trier les paramètres "Soumission au comité" ="Oui" et "Clôture comité"="Non" et reporter les informations sur l'onglet "Global" dans un tableau similaire sauf que vous remarquerez qu'il y a une colonne commentaires en fin.

Merci d'avance
Alice
 

Cousinhub

XLDnaute Barbatruc
Re : trier des données de plusieurs feuilles puis les regrouper dans une même feuille

Bonjour,

Ouh là, ça remonte, ce fil....j'étais jeune, à l'époque.....:D

Par contre, si tu veux adapter le code à ton fichier, ça va pas trop le faire, car tu as des cellules fusionnées dans tes titres.....

Donc, soit tu modifies ta présentation, soit va falloir trouver autre chose....

bon courage
 

Discussions similaires

Statistiques des forums

Discussions
312 202
Messages
2 086 177
Membres
103 152
dernier inscrit
Karibu