EXCEL redistibuer les lignes en colonnes

Résolu
nicool83 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Sous excel 2003, je cherche à redistribuer les info sur d'une ligne en une colonne tout en gardant pour chaque l'info de la première cellule, je m'explique, j'ai un tableau qui ressemble à ça:

nom1 12 25 27 98 2
nom2 54 78 2 21 877 87
...
et j'aimerais avoir:

nom1 12
nom1 25
nom1 27
nom1 98
nom1 2
nom2 54
nom2 78
nom2 2
nom2 21
nom2 877
nom2 87
...

c'est possible ou pas?? sachant que la fonction transposer n'a pas l'air de marcher dans ce cas...
aidez-moi s'il vous plait!!!! j'en peux plus!!!!
merci d'avance,

8 réponses

leplot Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   131
 
Bonjour

voici un VBA à coller dans un module
Option Explicit
Sub MiseEnFormeColonne()
    Dim Départ, Final
    Dim LigneDépart, ColonneDépart, LigneFinal
    Set Départ = ActiveWorkbook.Sheets("Départ")
    Set Final = ActiveWorkbook.Sheets("Final")
    
    LigneDépart = 1: ColonneDépart = 2: LigneFinal = 1
    Do While Départ.Cells(LigneDépart, 1) <> ""
        Do While Départ.Cells(LigneDépart, ColonneDépart) <> ""
            Final.Cells(LigneFinal, 1) = Départ.Cells(LigneDépart, 1)
            Final.Cells(LigneFinal, 2) = Départ.Cells(LigneDépart, ColonneDépart)
            LigneFinal = LigneFinal + 1
            ColonneDépart = ColonneDépart + 1
        Loop
        ColonneDépart = 2
        LigneDépart = LigneDépart + 1
    Loop
End Sub


Selon la destination des données, il faut changer le nom des feuilles et les variables ligne et colonne.
0
nicool83 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   1
 
merci pour ta rapidité!!! really impressed!
mais je comprend pas trop ce que je doi changer, jsuis un peu neuneu, surtout en vba...
donc si je n'abuse pas trop de ta bonté pourrais-tu mettre en gras ce que je dois modifier,
parce que là j'ai essayé tel quel et ça me met "nom ambigu detecté : MiseEnFormeColonne"
donc si tu pouvais me donner quelque précisions quant à l'utilisation de ta macro, ça serait cool.
merci!
0
qmike Messages postés 1509 Date d'inscription   Statut Membre Dernière intervention   594
 
bonjour
une autre solution serait de transposer les lignes et les colonnes
voir ici
http://bvrve.club.fr/Astuces_Michel/02excel.html
bonne journée
0
nicool83 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   1
 
merci,
mais j'aimerais bien gardé l'info de la premiere cellule de chaque ligne pour chacunes des cellules suivantes.
et transposer ne permet pas ça, enfin ptet, enfin jsais pas...
0
leplot Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   131
 
Re,

Dans mon code, j'ai une feuille de départ nommée "Départ" et une feuille pour le résultat final "Final"
    Set Départ = ActiveWorkbook.Sheets("Départ")
    Set Final = ActiveWorkbook.Sheets("Final")
Les titres sont en A1 de la feuille Départ et j'écris en A1 de la feuille Final :
les données sont donc en colonne 2 (titre en A et données en B, C...)
    LigneDépart = 1: ColonneDépart= 2: LigneFinal = 1
    Do While Départ.Cells(LigneDépart, 1) <> ""
    Final.Cells(LigneFinal, 1) = Départ.Cells(LigneDépart, 1)
    Final.Cells(LigneFinal, 2) = Départ.Cells(LigneDépart, ColonneDépart)
    ColonneDépart = 2

Si tu démarres en C5 par exemple et que tu écris en Z10 :
les données sont donc en colonne 4 (titre en C et données en D, E...)
    LigneDépart = 5: ColonneDépart= 4: LigneFinal = 10
    Do While Départ.Cells(LigneDépart, 3) <> ""
    Final.Cells(LigneFinal, 26) = Départ.Cells(LigneDépart, 3)
    Final.Cells(LigneFinal, 27) = Départ.Cells(LigneDépart, ColonneDépart)
    ColonneDépart = 4
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour
a la bourre: coupures de courant suite à orage de grêle dans mon coin... j'ai recommencer n-2 fois (n=nombre de coupures)
ci joint proposition sans macro....
https://www.cjoint.com/?ethoxuPeCn
j'ai laissé volontairement en tableau intermédiaire pour la compréhension de la bête
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
qmike Messages postés 1509 Date d'inscription   Statut Membre Dernière intervention   594
 
oui mais en meme temps dupliquer un info n'est pas forcément necessaire même pour le calcul
0
arrial Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   251
 
 





L'option transposer ne marche pas
► si on fait un "couper"
► si on essaie de coller en partie sur la zone copiées.

Tu dois donc
► "copier"
► "coller spécial transposé" plus bas
► supprimer la source …



Cela dit, la feuille n'étant pas "carrée", on ne peut pas toujours …



0
nicool83 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci à tous!
dans un premier temps je vais opter pour la solution de michel!
même si dès que j'aurais plus de temps je me pencherais sur la marco de leplot.
en tout cas, merci beaucoup.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
bonjour-soir,

quand tu auras regardé ma proposition, fais signe car j'ai amélioré 2 ou 3 trucs (bugs dans prise en compte 5° ligne)
0