Transformer descolonnes en lignes mais en conservant la première

Résolu/Fermé
clement_a - 21 juil. 2014 à 15:53
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 - 22 juil. 2014 à 15:10
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 !


A voir également:

5 réponses

Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 454
21 juil. 2014 à 17:00
Bonjour,
Merci, et bonne suite.

1
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 454
Modifié par Le Pingou le 21/07/2014 à 16:06
Bonjour,
C'est bien 1800 lignes ...! Et combien de colonnes au maximum ?


Salutations.
Le Pingou
0
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 :)
0
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 2 738
21 juil. 2014 à 16:20
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
0

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
0
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 2 738
Modifié par via55 le 21/07/2014 à 16:58
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
0
Voici mon fichier

https://mon-partage.fr/f/AQdS0ySk/

Je reconnais que ce que je demande ne ressemble plus trop à la question que j'ai posé à la base. Désolé
0
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 2 738
Modifié par via55 le 21/07/2014 à 17:54
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
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 454
21 juil. 2014 à 18:09
Bonjour,
Excusez-moi du dérangement...!
Salutatioins
0
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 2 738
21 juil. 2014 à 18:20
Bonjour Le Pingou

Cdlmnt
0