Transformer descolonnes en lignes mais en conservant la première
Résolu
clement_a
-
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je me tourne vers vous pour vous poser une petite question...
Je suis à la recherche d'une méthode pour transformer des colonnes en lignes (pour cela il y a l'option transposer me diriez vous) mais il se trouve que mon problème est un petit peu plus compliqué que ça.
En fait, j'ai aujourd'hui plusieurs ligne avec chacune plusieurs valeurs en colonne à la suite... du style
Ref 1 / Val 1/ Val2 / Val 3
Ref 2 / Val 1/ Val 2/ Val 3
Ref 3 / Val 1/ Val 2... etc
je souhaiterai passer tout ça en :
Ref1 / Val 1
Ref1 / Val 2
Ref1 / Val 3
Ref2/ Val 1
Ref 2/ Val 2
etc...
Est ce que par hasard vous auriez des idées (concrètement j'ai 1800 lignes avec chaque fois plusieurs valeur... Je me vois mal faire ça à la main...
Merci d'avance pour votre aide !
Je me tourne vers vous pour vous poser une petite question...
Je suis à la recherche d'une méthode pour transformer des colonnes en lignes (pour cela il y a l'option transposer me diriez vous) mais il se trouve que mon problème est un petit peu plus compliqué que ça.
En fait, j'ai aujourd'hui plusieurs ligne avec chacune plusieurs valeurs en colonne à la suite... du style
Ref 1 / Val 1/ Val2 / Val 3
Ref 2 / Val 1/ Val 2/ Val 3
Ref 3 / Val 1/ Val 2... etc
je souhaiterai passer tout ça en :
Ref1 / Val 1
Ref1 / Val 2
Ref1 / Val 3
Ref2/ Val 1
Ref 2/ Val 2
etc...
Est ce que par hasard vous auriez des idées (concrètement j'ai 1800 lignes avec chaque fois plusieurs valeur... Je me vois mal faire ça à la main...
Merci d'avance pour votre aide !
A voir également:
- Transformer descolonnes en lignes mais en conservant la première
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Transformer majuscule en minuscule word - Guide
- Transformer image en icone - Guide
- Transformer clavier qwerty en azerty - Guide
5 réponses
Maximum 23 colonnes (mais pas toujours :)) des fois il y en a moins (et en réalité ce n'est pas une colonne de référence mais 6 colonnes l'une à côté de l'autre)
En fait ce fichier un peu particulier vient du fait que j'ai extrait d'un champs texte une série de code (dont les nombres peuvent aller de 0 à 23 (ce qui nous donnes les 23 colonnes)
Je sais pas si c'est très clair ce que je raconte :)
En fait ce fichier un peu particulier vient du fait que j'ai extrait d'un champs texte une série de code (dont les nombres peuvent aller de 0 à 23 (ce qui nous donnes les 23 colonnes)
Je sais pas si c'est très clair ce que je raconte :)
Bonjour
Faisable par macro
Exemple de macro pour references en colonne A dd'une feuille 1 à transposer sur une feuille 2
Macro à mettre dans le worksheet de la feuille 1 (ALT F11 pour ouvrir l'éditeur)
Sub transposer()
Dim DernLigne As Long
DernLigne = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
Dim DernCol As Integer
For n = 2 To DernLigne 'si les referneces commencent en ligne 2 , à adapter
DernCol = Cells(n, Cells.Columns.Count).End(xlToLeft).Column
For t = 2 To DernCol
x = x + 1
Sheets(2).Cells(x, 1) = Sheets(1).Cells(n, 1)
Sheets(2).Cells(x, 2) = Sheets(1).Cells(n, t)
Next t
Next n
End Sub
Cdlmnt
Faisable par macro
Exemple de macro pour references en colonne A dd'une feuille 1 à transposer sur une feuille 2
Macro à mettre dans le worksheet de la feuille 1 (ALT F11 pour ouvrir l'éditeur)
Sub transposer()
Dim DernLigne As Long
DernLigne = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
Dim DernCol As Integer
For n = 2 To DernLigne 'si les referneces commencent en ligne 2 , à adapter
DernCol = Cells(n, Cells.Columns.Count).End(xlToLeft).Column
For t = 2 To DernCol
x = x + 1
Sheets(2).Cells(x, 1) = Sheets(1).Cells(n, 1)
Sheets(2).Cells(x, 2) = Sheets(1).Cells(n, t)
Next t
Next n
End Sub
Cdlmnt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Waw mais c'est beau ça !
Merci beaucoup, je ne connais pas le VBA, mais je voudrai savoir en fait j'ai mes 11 premières colonnes qui doivent rester telles quelles et j'aurai aussi 3 colonnes à conserver en clair ça devrait faire :
Ref 1 (1)/ Ref 1 (2)/.../ Ref 1(9) / Val 1( 1) / Val 1(2) / Val1(3) / Val2(1) / Val 2(2) / Val2(3)
Et je voudrai que ça fasse
Ref 1 (1)/ Ref 1 (2)/.../ Ref 1(9) / Val 1( 1) / Val 1(2) / Val1(3)
Ref 1 (1)/ Ref 1 (2)/.../ Ref 1(9) / Val 2(1) / Val 2(2) / Val2(3)
Si ça se fait rapidement ... mais je vais essayer de voir ce que je peux faire grâce à votre code ! Merci beaucoup
Merci beaucoup, je ne connais pas le VBA, mais je voudrai savoir en fait j'ai mes 11 premières colonnes qui doivent rester telles quelles et j'aurai aussi 3 colonnes à conserver en clair ça devrait faire :
Ref 1 (1)/ Ref 1 (2)/.../ Ref 1(9) / Val 1( 1) / Val 1(2) / Val1(3) / Val2(1) / Val 2(2) / Val2(3)
Et je voudrai que ça fasse
Ref 1 (1)/ Ref 1 (2)/.../ Ref 1(9) / Val 1( 1) / Val 1(2) / Val1(3)
Ref 1 (1)/ Ref 1 (2)/.../ Ref 1(9) / Val 2(1) / Val 2(2) / Val2(3)
Si ça se fait rapidement ... mais je vais essayer de voir ce que je peux faire grâce à votre code ! Merci beaucoup
Ca n'a plus grand chose à voir avec l'énoncé de départ !
Je ne comprends rien tu parles de 11 colonnes à conserver en clair et tu ne donnes en exemple que 9 colonnes (Ref 1 à 9) , après il y a 6 colonnes de valeurs groupées par 3 et tu parles de 3 colonnes à conserver enclair ? qu'entends tu par la!!??
Le plus simple serait de poster un exemple allégé de ton fichier (5 lignes suffisent) , en mettant dans une seconde feuille le résultat que tu souhaites obtenir à partir de la 1ere
Post ton fichier sur cjoint.com et indiques ici ensuite le lien fourni, on y verra plus clair pour adapter la macro
Cdlmnt
Je ne comprends rien tu parles de 11 colonnes à conserver en clair et tu ne donnes en exemple que 9 colonnes (Ref 1 à 9) , après il y a 6 colonnes de valeurs groupées par 3 et tu parles de 3 colonnes à conserver enclair ? qu'entends tu par la!!??
Le plus simple serait de poster un exemple allégé de ton fichier (5 lignes suffisent) , en mettant dans une seconde feuille le résultat que tu souhaites obtenir à partir de la 1ere
Post ton fichier sur cjoint.com et indiques ici ensuite le lien fourni, on y verra plus clair pour adapter la macro
Cdlmnt
Dans ce cas pas besoin de macro
https://www.cjoint.com/?0Gvr1c6c3Qh
Copier la plage A2:O7 de la feuille 3 avec les formules
La coller en bonne place dans la feuille de report de ton classeur (la feuille de Données étant la Feuil1)
Reselectionner cette plage A2:O7 et l'étirer au bas de la colonne sur au moins 300 lignes
Cdlmnt
https://www.cjoint.com/?0Gvr1c6c3Qh
Copier la plage A2:O7 de la feuille 3 avec les formules
La coller en bonne place dans la feuille de report de ton classeur (la feuille de Données étant la Feuil1)
Reselectionner cette plage A2:O7 et l'étirer au bas de la colonne sur au moins 300 lignes
Cdlmnt