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

Statistiques des forums

Discussions
312 202
Messages
2 086 180
Membres
103 152
dernier inscrit
Karibu