Microsoft 365 transposer en colonne

kenny

XLDnaute Occasionnel
Bonjour,

J'aimerais transposer les données de ma feuille 1 en colonne comme dans l'onglet 2 (je le fais avec collage spécial transposé). dans mon onglet remplissage tableau reporter les données transposées car chaque semaine de l'année j'aurais ce fichier.

En sachant que dans ma feuille 1 je peux avoir plus de nom donc pas limité à Dupont 33.
Pourrait -on le faire par VBA Excel.

Merci d'avance (fichier test joint)
 

Pièces jointes

  • Transpose_test.xls
    43 KB · Affichages: 71

Staple1600

XLDnaute Barbatruc
Re

Voici un avant-gout
Ci-dessous les étapes suivies
02POWERQUERY.jpg
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Kenny,
Un exemple en PJ s'inspirant beaucoup de l'enregistreur de macro :
VB:
Sub TransposeTableau()
    Application.ScreenUpdating = False
    ' Suppression du tableau transposé existant
    Sheets("transposé").Select
    Columns("A:Z").Delete Shift:=xlToLeft
    ' Copie du tableau initial
    Sheets("Feuil1").Select
    Range("A1").CurrentRegion.Copy
    ' Collage du tableau transposé
    Sheets("transposé").Select
    Range("B2").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
    Cells.Select
    ' Mise en forme largeur colonne
    Cells.EntireColumn.AutoFit
    Range("A1").Select
    ' Vide le presse papier
    Application.CutCopyMode = False
End Sub
 

Pièces jointes

  • Transpose_test.xls
    51 KB · Affichages: 4

Staple1600

XLDnaute Barbatruc
Re

Si.
Mais avec 365 (et depuis Excel 2013) Excel dispose d'un puissant outil.
POWERQUERY
Et comme me disait mon maître tibétain quand j'apprenais les rudiments d'Excel dans les Alpes bavaroises pendant l'hiver 54
"Toujours utiliser les fonctions natives d'Excel avant de faire ALT+F11"
Donc c'est ici ce que je voulais dire

Utilisons la Puissante Requête plutôt que le VBA.

C'est plus ergonomique, dynamique et actualisable.
 

kenny

XLDnaute Occasionnel
Bonjour Kenny,
Un exemple en PJ s'inspirant beaucoup de l'enregistreur de macro :
VB:
Sub TransposeTableau()
    Application.ScreenUpdating = False
    ' Suppression du tableau transposé existant
    Sheets("transposé").Select
    Columns("A:Z").Delete Shift:=xlToLeft
    ' Copie du tableau initial
    Sheets("Feuil1").Select
    Range("A1").CurrentRegion.Copy
    ' Collage du tableau transposé
    Sheets("transposé").Select
    Range("B2").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
    Cells.Select
    ' Mise en forme largeur colonne
    Cells.EntireColumn.AutoFit
    Range("A1").Select
    ' Vide le presse papier
    Application.CutCopyMode = False
End Sub
Merci beaucoup Sylvanu,
Ta méthode fonctionne tres bien aussi
 

Discussions similaires

Réponses
11
Affichages
444