COMMENT REOTGANISER LES COLONNES D4UN TABLEAU EXCEL EN UTILISANT UNE MACRO

anbar

XLDnaute Junior
Bonjour à tous

je cherche une solution pour un problème que je rencontre chaque jour au travail:

chaque matin je reçois un tableau en lignes on trouve les noms des des tournées=noms des camions) dans les colonnes on trouve les noms des gammes des articles à produire, chaque article appartient à une gammes en l'occurrence j'ai gammes différentes GBA acier, GB acier, LIGMATEC, ALU, pivotantes et KOBES

je reçois le tableau avec des articles en désordre ce que je souhaite c'est une macro qui me réorganisera les articles par gamme.

Et merci à toutes et à tous
 

Pièces jointes

  • forum.xlsx
    15.5 KB · Affichages: 29

job75

XLDnaute Barbatruc
Bonjour anbar, Pierre,

Voyez le fichier joint et cette macro dans le code de la feuille "Tri colonnes" :
Code:
Private Sub Worksheet_Activate()
Dim col As Range, n As Variant
Application.ScreenUpdating = False
Rows("3:" & Rows.Count).Delete 'RAZ
With Feuil1.[A1].CurrentRegion
    If .Rows.Count = 1 Then Exit Sub
    For Each col In .Offset(1).Resize(.Rows.Count - 1).Columns
        n = Application.Match(col.Cells(0), Rows(2), 0)
        If IsNumeric(n) Then col.Copy Cells(3, n) 'copier-coller
    Next
End With
End Sub
Elle se déclenche quand on active la feuille.

Avec cette méthode les formats sont copiés.

A+
 

Pièces jointes

  • Tri colonnes(1).xlsm
    28.4 KB · Affichages: 22

anbar

XLDnaute Junior
Bonjour anbar

A tester:
Bonjour monsieur Pierre Jean
Tout d'abord je tiens à vous remercier pour le travail que vous avez fait et c'est très gentil de votre part.
votre code marche à merveille sauf que j'ai oublié de vous dire que dans le tableau que je reçois chaque matin les articles ne garde pas toujours le même numéro de colonnes vu que des fois par exemple on aura pas de GB à produire comme il peut y avoir d'autres article comme exemple GB-ALU_S qui appartient à la gamme ALU.
Bonjour PierreJean
Tout d'abord je tiens à vous remercier pour le travail que vous avez fait et c'est très gentil de votre part.
votre code marche à merveille sauf que j'ai oublié de vous dire que dans le tableau que je reçois chaque matin les articles ne garde pas toujours le même numéro de colonnes vu que des fois par exemple on aura pas de GB à produire comme il peut y avoir d'autres article comme exemple GB-ALU_S qui appartient à la gamme ALU.
merci

Merci
Bonjour anbar, Pierre,

Voyez le fichier joint et cette macro dans le code de la feuille "Tri colonnes" :
Code:
Private Sub Worksheet_Activate()
Dim col As Range, n As Variant
Application.ScreenUpdating = False
Rows("3:" & Rows.Count).Delete 'RAZ
With Feuil1.[A1].CurrentRegion
    If .Rows.Count = 1 Then Exit Sub
    For Each col In .Offset(1).Resize(.Rows.Count - 1).Columns
        n = Application.Match(col.Cells(0), Rows(2), 0)
        If IsNumeric(n) Then col.Copy Cells(3, n) 'copier-coller
    Next
End With
End Sub
Elle se déclenche quand on active la feuille.

Avec cette méthode les formats sont copiés.

A+
Bonjour anbar

A tester:
Bonjour anbar, Pierre,

Voyez le fichier joint et cette macro dans le code de la feuille "Tri colonnes" :
Code:
Private Sub Worksheet_Activate()
Dim col As Range, n As Variant
Application.ScreenUpdating = False
Rows("3:" & Rows.Count).Delete 'RAZ
With Feuil1.[A1].CurrentRegion
    If .Rows.Count = 1 Then Exit Sub
    For Each col In .Offset(1).Resize(.Rows.Count - 1).Columns
        n = Application.Match(col.Cells(0), Rows(2), 0)
        If IsNumeric(n) Then col.Copy Cells(3, n) 'copier-coller
    Next
End With
End Sub
Elle se déclenche quand on active la feuille.

Avec cette méthode les formats sont copiés.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 109
Messages
2 085 383
Membres
102 878
dernier inscrit
asmaa