Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro de transformation de certaines colonnes en ligne

tarinz

XLDnaute Nouveau
Bonjour, je cherche à faire une macro qui pourrait transposer des colonnes en lignes avec une boucle s'adaptant au nombre de colonnes du tableau traité.
Exemple dans le fichier joint dans l'onglet départ: il y a 13 colonnes que je souhaite transformer comme dans l'onglet "arrivée souhaitée"
J'y suis arrivé mais sans boucle, c'est-à-dire en notant en dur tous les noms de colonnes à traiter. Je dois travailler sur un fichier de plus de 100 colonnes prochainement, donc avec une boucle ce serait mieux ;-)
Merci d'avance pour l'aide
+
Laurent
 

Pièces jointes

  • Transposer.xlsx
    10 KB · Affichages: 7

job75

XLDnaute Barbatruc
Bonjour tarinz,

Avec la fonction Transpose pas besoin de boucle, le code de la 2ème feuille :
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
If FilterMode Then ShowAllData 'si la feuille est filtrée
UsedRange = Empty 'RAZ
With Sheets("Départ").UsedRange
    [A1].Resize(.Columns.Count, .Rows.Count) = Application.Transpose(.Value)
End With
Columns.AutoFit 'ajustement largeur
End Sub
La macro se déclenche quand on active la feuille.

A+
 

Pièces jointes

  • Transposer(1).xlsm
    19.2 KB · Affichages: 5

tarinz

XLDnaute Nouveau
Salut job75, en fait dans l'exemple je dois conserver certaines données de colonnes (colonne 1 à 4) sur chaque ligne. En fait j'aurais dû préciser que de la colonne 1 à 4 je cherche à dupliquer les informations jusqu'à ce qu'il y ai des donnée à transposer après la colonne 4 (pas facile à expliquer
Dans le nouveau fichier joint, on peut voir dans l'onglet "Arrivée souhaitée" que le nb d'enregistrements pour "Laurent" est équivalent au nombre de colonnes après la colonne 4 (soit 9). C'est pourquoi je recherche une boucle ou tout autre solution
 

Pièces jointes

  • Transposer.xlsx
    10 KB · Affichages: 4

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…