Tri d'un tableau et créations d'onglets

MissCroft

XLDnaute Nouveau
Bonjour

Je voudrais faire une macro qui trie un planning général ; en fait on a un tableau de commandes de matériel, avec une colonne qui recense les rédacteurs de ces commandes.
mon but est de rechercher chaque préparateur, de créer un onglet par préparateur, avec dans cet onglet le même tableau que dans la page principale, mais avec juste les lignes du gars concerné.
je vous joint un exemple simplifié (y a des colonnes en moins pour raisons de taille de fichier)

et comme les préparateurs changent souvent, je voudrais que la macro soit "facile à mettre à jour"...
si qq'un a des pistes...merci :)
 

Pièces jointes

  • macro.zip
    24.8 KB · Affichages: 42
  • macro.zip
    24.8 KB · Affichages: 42
  • macro.zip
    24.8 KB · Affichages: 44

skoobi

XLDnaute Barbatruc
Re : Tri d'un tableau et créations d'onglets

Bonsoir,

dans la page principale il y a non pas 1 mais 4 tableaux non?
"LIVRAISONS REELLES", "RETOURS REELS", "LIVRAISONS PREVUES" et "RETOURS PREVUS".
Je suppose que tu veux récupérer ces entêtes, paramètre important selon moi.
A te relire.
 

Cousinhub

XLDnaute Barbatruc
Re : Tri d'un tableau et créations d'onglets

Bonsoir,
Skoobi :)

Ayant commencé à travailler sur son fichier, je me suis rendu compte, non seulement de ce que tu soulèves, mais de plus, que son tableau comporte des lignes intermédiaires du style "Ecart de la semaine....."
Faut-il également prendre ces lignes comme des "sous-titres"?

Bref, un code difficilement gérable, du moins de manière simple
 

skoobi

XLDnaute Barbatruc
Re : Tri d'un tableau et créations d'onglets

Salut Hub :),

Bref, un code difficilement gérable, du moins de manière simple
Je te le fais pas dire....
A mon avis il faut s'attendre à une réponse positive à nos questions.

Moi je verrai ça de cette manière:
1- faire une première recherche avec Find.... FindNext sur le mot "LIVRAISONS"
2- quand la cellule est trouvée, on pourra identifier le tableau avec la propriété CurrentRegion (j'ai testé, ça devrait le faire) pour limiter la plage de recherche pour les 2 points suivant:
3- une nouvelle recherche avec Find.... FindNext sur "Ecart de la semaine"
4- la nouvelle plage définie (limité par "l'écart" suivant) permettra (enfin) de chercher le rédacteur.
5- on repart du point 1 mais avec le mot "RETOURS"
Bien entendu, il faudra gérer l'onglet à créer ou pas mais ça tu sais déjà ;).
Espérant qu'il n'y a pas dans le fichier final 10000 lignes, sinon le café va duré un moment:p quoique....
Qu'en penses-tu bhbh?

Enfin voilà pour les pistes MissCroft....
 
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Re : Tri d'un tableau et créations d'onglets

Re-,
Skoobi, comme on est tout seul.....:eek:

Par contre, la Miss, elle voudra peut-être différencier les "Ecart"......

Donc, je pense qu'il est urgent d'attendre un onglet type de l'extraction qu'elle désire.....

Parce que cela sent l'usine à gaz.....
 

MissCroft

XLDnaute Nouveau
Re : Tri d'un tableau et créations d'onglets

désolée pour cette absence, j'étais en congés.
L'onglet type, c'est en fait le même tableau, avec les mêmes colonnes (effectivement il faut garder les lignes d'écarts oranges).

c'est juste les lignes blanches différenciées par les noms en initiales qui sont "filtrées".
 

MissCroft

XLDnaute Nouveau
Re : Tri d'un tableau et créations d'onglets

çà y ressemble bcp, je vais étudier çà de plus près...par contre je ne peux plus vous faire d'exemple car la macro ne marche plus chez nous lol
je teste çà sur un vrai fichier et je vous dis
merci en tout cas :)
 

ChTi160

XLDnaute Barbatruc
Re : Tri d'un tableau et créations d'onglets

Re
si la recherche doit être faite dans la colonne J (10)
tu remplace les deux procédures par celles ci
Code:
Sub Test()
 Set Ws_Source = Worksheets("Planning général détaillé")
  Set Coll_Redacteur = New Collection

 With Ws_Source
  DerLigne = .Range("G65536").End(xlUp).Row
    DerCol = .Range("IV8").End(xlToLeft).Column + 1
      Tabtemp = .Range(.Cells(7, 1), .Cells(DerLigne, DerCol)).Value
On Error Resume Next
    For Ligne = 1 To UBound(Tabtemp, 1)
       If Tabtemp(Ligne, [COLOR=Red]10[/COLOR]) = "" Or Tabtemp(Ligne, [COLOR=Red]10[/COLOR]) = "Rédacteur" Then
         Tabtemp(Ligne, UBound(Tabtemp, 2)) = "x"
       End If
    Next
    For Lgn = 1 To UBound(Tabtemp, 1)
       
      If Tabtemp(Lgn, UBound(Tabtemp, 2)) <> "x" Then
              Coll_Redacteur.Add Tabtemp(Lgn, [COLOR=Red]10[/COLOR]), CStr(Tabtemp(Lgn, [COLOR=Red]10[/COLOR]))
          If Err.Number = 0 Then
               .Copy After:=Sheets(Sheets.Count)
            Set Ws_Cible = ActiveSheet
             With Ws_Cible
              Application.ScreenUpdating = False
                   '.CommandButton1.Delete
                   .Name = Tabtemp(Lgn, [COLOR=Red]10[/COLOR])
                         Traitement .Name
             End With
          End If
          Err.Clear
        
       End If
        
        
    Next
   On Error GoTo 0
 End With
 
End Sub
Code:
 Function Traitement(ByVal Sht As String)
 Application.ScreenUpdating = False
 With Worksheets(Sht)
            For L = UBound(Tabtemp, 1) To 21 Step -1
               If Tabtemp(L, [COLOR=Red]10[/COLOR]) <> Sht And _
                            Tabtemp(L, UBound(Tabtemp, 2)) <> "x" Then
                 .Cells(6 + L, 1).EntireRow.Delete shift:=xlUp
               End If
            
            Next
 
 End With
 Application.ScreenUpdating = True
 End Function
il toujours meilleur, de mettre la bonne mise en forme du tableau ,mais avec moins de lignes
n'hésite pas si Problème
Bonne fin de Journée
 
Dernière édition:

MissCroft

XLDnaute Nouveau
Re : Tri d'un tableau et créations d'onglets

toujours sur le même exemple : est-ce possible de créer un onglet "vrac" et de mettre les lignes sans initiales dedans ?
sur certains plannings il y a des lignes "non affectées" à un rédacteur et ces lignes réapparaissent dans chaque onglet...
 

ChTi160

XLDnaute Barbatruc
Re : Tri d'un tableau et créations d'onglets

Salut MissCroft
Bonjour le fil
Bonjour le Forum

Arff dur dur ,ne peux tu mettre un exemple ,juste quelques lignes de ce que tu as et de ce que tu veux
Merci d'avance
Bonne fin de journée
 

MissCroft

XLDnaute Nouveau
Re : Tri d'un tableau et créations d'onglets

Voici en version light ce qu'il faut :
les lignes où sont les cases roses (celles sans nom) doivent aller dans un autre nouvel onglet nommé "vrac".
 

Pièces jointes

  • test.xls
    33.5 KB · Affichages: 243
  • test.xls
    33.5 KB · Affichages: 272
  • test.xls
    33.5 KB · Affichages: 273

Discussions similaires

Statistiques des forums

Discussions
312 816
Messages
2 092 330
Membres
105 367
dernier inscrit
jych