XL 2019 [RESOLU] Tri de plusieur feuilles

Bloody_Toad

XLDnaute Nouveau
Bonjour
J'ai un grand besoin d'aide car tout ça me dépasse un peu

sur le fichier joint j'aurais voulu dans un premier temps faire une liste déroulante (F2) dans la feuille récap avec ce qui existe dans les colonnes (F3: F1000)des différentes feuilles (autre que récap) le nombre de feuilles peut évoluer
et dans un deuxième temps faire une recherche suivant la cellule liste dans les autres feuilles en gardant en premier toujours le nom en gras "souligner" si bien sûr il y a une couleur associée
Si je ne me suis pas bien comprendre n’hésitez pas à me le dire ;-)

Merci
 

Pièces jointes

  • Tableau etiquettes-01.03.xlsm
    181.1 KB · Affichages: 53

Bloody_Toad

XLDnaute Nouveau
Bonjour.

Je ne comprends rien...
Désolé..
On dirait un listing de câble de poste haute tension...
Serait-il possible de m'en dire plus?
Bonjour
Oui en fait ce sont des repères de fil à imprimer sur des plaquettes de couleurs différentes, d'où le tri. Je remplis les feuilles coffret par coffret et après je rassemble tout suivant (tri couleur et vide) les couleurs pour impression. À l'heure actuelle je trie dans les feuilles et colle dans récap et après je supprime le nom du câble qui n'a pas de couleur. Si je pouvais automatisé le tout avec une macro se serais top.
 

Bloody_Toad

XLDnaute Nouveau
Bonsoir tbft
Je viens d’essayer un tableau croisé dynamique, mais avec mes connaissances ça ne fait pas ce que j'ai besoin ( ça tri bien mais en mélange l'ordre). En fait pour faire cour, il faut que je copie toutes les feuilles(B3: F1000) dans une seule et que tri en fonction de sa couleur (F) mais en gardant toujours la ligne où se trouve le "x" en colonne B.
Merci
Cordialement
 

fanch55

XLDnaute Barbatruc
Bonjour ,
PQ résout la fusion à la queue-leu-leu des tables en une seule et ce sans code,
juste bien vérifier la similarité les entêtes pour éviter d'avoir plusieurs colonnes Tri.
Mais cela ne résout toujours pas les problèmes de tri que je n'arrive pas facilement à appréhender .

Ci-joint la version de @JHA avec une colonne supplémentaire permettant de trier les couleurs par groupe de postes .

1617962797854.png
 

Pièces jointes

  • Tableau etiquettes-01.03-2.xlsm
    204.6 KB · Affichages: 3

fanch55

XLDnaute Barbatruc
Pour ceux qui ne sont pas à l'aise avec les étapes de Power Query,
CI-joint la version en Vba ( sur la base des tables structurées )
VB:
Sub Charge()
Application.ScreenUpdating = False

    [Tabvba].AutoFilter
    If Not [Tabvba].ListObject.DataBodyRange Is Nothing _
    Then [Tabvba].ListObject.DataBodyRange.Delete
    
    For Each T In Array([TableauFil1502], [TableauFil1503], [TableauFil1504], [TableauFil1505])
        [Tabvba].ListObject.ListRows.Add
        T.ListObject.DataBodyRange.Copy
        [Tabvba].ListObject.DataBodyRange.Rows([Tabvba].ListObject.ListRows.Count).PasteSpecial xlPasteValues
        TabName = T.Parent.Name
        [Tabvba].AutoFilter Field:=6, Criteria1:="="
        [Tabvba[Groupe]].SpecialCells(xlCellTypeVisible).FormulaR1C1 = "=IF([@Titre]<>"""",""" & TabName & " ""&[@Nom],INDIRECT(ADDRESS(ROW()-1,COLUMN())))"
        [Tabvba].AutoFilter
        [Tabvba[Groupe]].Value = [Tabvba[Groupe]].Value
    Next
    
    With [Tabvba].ListObject.Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("TabVba[Groupe]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SortFields.Add Key:=Range("TabVba[Nb]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SortFields.Add Key:=Range("TabVba[Tri]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SortFields.Add Key:=Range("TabVba[Nom]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    [Tabvba[#All]].Columns.AutoFit

End Sub
 

Pièces jointes

  • Tableau etiquettes-01.03-3.xlsm
    228.5 KB · Affichages: 7

Bloody_Toad

XLDnaute Nouveau
Pour ceux qui ne sont pas à l'aise avec les étapes de Power Query,
CI-joint la version en Vba ( sur la base des tables structurées )
VB:
Sub Charge()
Application.ScreenUpdating = False

    [Tabvba].AutoFilter
    If Not [Tabvba].ListObject.DataBodyRange Is Nothing _
    Then [Tabvba].ListObject.DataBodyRange.Delete
 
    For Each T In Array([TableauFil1502], [TableauFil1503], [TableauFil1504], [TableauFil1505])
        [Tabvba].ListObject.ListRows.Add
        T.ListObject.DataBodyRange.Copy
        [Tabvba].ListObject.DataBodyRange.Rows([Tabvba].ListObject.ListRows.Count).PasteSpecial xlPasteValues
        TabName = T.Parent.Name
        [Tabvba].AutoFilter Field:=6, Criteria1:="="
        [Tabvba[Groupe]].SpecialCells(xlCellTypeVisible).FormulaR1C1 = "=IF([@Titre]<>"""",""" & TabName & " ""&[@Nom],INDIRECT(ADDRESS(ROW()-1,COLUMN())))"
        [Tabvba].AutoFilter
        [Tabvba[Groupe]].Value = [Tabvba[Groupe]].Value
    Next
 
    With [Tabvba].ListObject.Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("TabVba[Groupe]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SortFields.Add Key:=Range("TabVba[Nb]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SortFields.Add Key:=Range("TabVba[Tri]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SortFields.Add Key:=Range("TabVba[Nom]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    [Tabvba[#All]].Columns.AutoFit

End Sub
Bonsoir franch55 et JHA
Bonjour à tous,

Un exemple de regroupement des tableaux avec Power query

JHA
Merci
Vraiment super boulot. Impressionnant.Les deux tableaux fons le boulot. Mais, est-il possible que dans les tris quand je choisis une couleur et un vide "il y aura toujours le vide de choisi" il n'y est que le vide de la couleur choisi qui sois affiché ! en fait jamais plus d'un vide à la fois .
le vide est le nom du câble associé à chacun repère de fil et les étiquettes sont imprimées sur des plaquettes de 48 étiquettes"
Cordialement
 

Bloody_Toad

XLDnaute Nouveau
Bonjour @Bloody_Toad ,

Avec les éléments dont je dispose,
j'avoue ne pas trop comprendre ta demande .

En fait, il faudrait que tu détailles ton processus d'impression à défaut de fournir un classeur exemple.
BonsoirFanch55
Merci de ton intérêt .
j'essaierai de te décrire comment je procède, le temps de mettre ça en œuvre parce que je ne suis pas un grand écrivain.😃
Bonne soirée
Cordialement
 

Bloody_Toad

XLDnaute Nouveau
BonsoirFanch55
Merci de ton intérêt .
j'essaierai de te décrire comment je procède, le temps de mettre ça en œuvre parce que je ne suis pas un grand écrivain.😃
Bonne soirée
Cordialement
Re
Bonjour fanch55

Je vais essayer d’expliquer ma façon de faire.

Pour faire les étiquette je part d’un schéma papier ou PDF.

Je crée le classeur « étiquette »

Je crée des feuilles différentes avec les noms des coffrets ou de d’armoires (qui est diffèrent suivant les chantiers)

Je choisi en [F2] le « code » qui faire référence a un style d’étiquettes (pour le logiciel de l’imprimante)

Ensuite j’écris le nom du câble en colonne [C] un « x » en colonne ce qui me met en gras le Nom, le souligne et met « 1 » en colonne [D] (Nombre de fois a imprimé pour l’imprimante)

Dessous j’écris le texte du repère de fil [C] et j’écris sa couleur en colonne [F]. (Nombre et code sont automatique)

Autant de feuille qu’il y a d’armoires sur le chantier. Fin de recopiage.

Voilà les manipulations que j’aimerai (si possible) automatisée.

Je crée des feuilles du nom des « couleurs »

Dans chaque feuille d’armoire ou de coffret je tri (coche dans la liste de choix) la couleur et vide. Je copie à la queue leu leu dans la feuille au nom de la « couleur » choisi, je supprime les noms des câbles qui non pas de couleur (et oui j’ai copié tous les vide) et j’insère une ligne vide au-dessus de chaque nom de câble (pour que ce soit plus lisible sur la plaquette d’impression)

A la fin j’enregistre le classeur en xlsx (le logiciel de l’imprimante ne connait pas xlsm) et j’importe via le logiciel de l’imprimante une feuille couleur (colonne [C], [D], [E]) en fonction de la couleur de la plaquette d’étiquette. En fait j’imprime toujours en noir sur des plaquette de couleur.

Et là, à la fin on voie vraiment que je ne suis pas un écrivain dans l’âme 😊.

Merci encore.

Cordialement.
 

Discussions similaires

Réponses
2
Affichages
553

Statistiques des forums

Discussions
311 720
Messages
2 081 904
Membres
101 834
dernier inscrit
Jeremy06510