Transformer des lignes en colonnes dans excel

Résolu/Fermé
Alex - Modifié par Alex le 10/12/2013 à 21:46
Raymond PENTIER Messages postés 58388 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 avril 2024 - 17 déc. 2013 à 14:10
Bonjour,
J'ai déjà plusieurs réponses dans les forum mais aucune ne correspond à ma question.
J'ai un tableau Excel sous la forme suivante

Arnaud
12, rue de Courcelles
(saut de ligne)
Juliette
15 rue des Platanes

etc
Je voudrais arriver à un tableau du style

Arnaud 12, rue de Courcelles
Juliette 15 rue des Platanes

Le pire, c'est que je sais que c'est possible car je l'ai déjà fait un jour mais impossible de retrouver la fonction.
Merci de venir à mon aide



A voir également:

9 réponses

Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
10 déc. 2013 à 22:50
bonsoir,

sélectionner la colonne, clic droit/Copier
activer une cellule vide, clic droit/collage spécial/transposer
0
Bonjour Alex,

Bonjour Mike,
Je crois comprendre qu'Alex a un tableau de la forme:
A 1 = Arnaud
A 2 = Rue de Amandiers
A 4 = Bernard
A 5 = Rue Boulanger
A 7 = Cécile
A 8 = Rue de Clichy

et il voudrait obtenir
A 1 = Arnaud
B 1 = Rue de Amandiers
A 2 = Bernard
B 2 = Rue Boulanger
A 3 = Cécile
B 3 = Rue de Clichy

A Alex,
Si c'est bien cela il faut que tu poses en B1 : = A2
Ensuite tu copies/colles ta formule en B4, B7, B 10 etc , toutes les 3 lignes en face du nom puisqu'il y a une ligne vide entre chaque couple nom/adresse, et ensuite tu supprime les lignes d'adresse et les lignes vides. En espérant que le tableau initial n'est pas trop grand, sinon il te faudra écrire une petite macro pour automatiser tout ça.
En espérant t'avoir compris, sinon autant pour moi
Bonne suite
0
Bonjour

Je reprends mon problème :
J'ai supprimé dans mon fichier d'origine toutes les lignes vides. Donc maintenant je me retrouve avec un tableau du style :
A1 : Paul
A2 : 13 rue des Platanes
A3 : Rob
A4 : 35 rue des Acacias
etc
Comment puis je faire pour avoir
A1 : Paul
B1 : 13 rue des Platanes
A2 : Rob
B2 : 35 rue des Acacias

Sachant que mon but ultime est de trier ce tableau en fonction des rues !!!!!!!!

Merci de votre aide !!!

Alex
0
Raymond PENTIER Messages postés 58388 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 avril 2024 17 088
11 déc. 2013 à 01:06
0
Bonjour les Antilles!
De l'avantage des questions convenablement posées ...
Cordialement
0
Raymond PENTIER Messages postés 58388 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 avril 2024 17 088
11 déc. 2013 à 01:58
Mon message #3 était une réponse à la demande d'Alex "impossible de retrouver la fonction".
La réponse à son problème "Je voudrais arriver à un tableau du style Arnaud 12, rue de Courcelles" figure dans mon message #5. Elle permet d'éviter transpositions et macros.
Amitiés à vous tous.
0
Raymond PENTIER Messages postés 58388 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 avril 2024 17 088
11 déc. 2013 à 01:51
Salut à tous.

Avec
A1 => Arnaud
A2 => 12, rue de Courcelles
A3 =>
A4 => Juliette
A5 => 15 rue des Platanes
A6 =>
A7 => Max
A8 => 40 Bd Lannes
A9 =>
on saisit en B1 la formule
=INDEX(A:A;3*LIGNE()-2)&" "&INDEX(A:A;3*LIGNE()-1)
qu'on recopie vers le bas ...
0
Bonjour Mr Pentier

Merci de votre réponse. Je me suis empressée de recopier la "formule magique", hèlas j'ai reçu un message d'erreur. Mon excel est en anglais donc j'ai écrit ;

=INDEX(A:A;3*LINEST()-2) &""&INDEX(A:A;3*LINEST()-1)

Où est l'erreur ??
Mon tableau est très très grand (plus de 1000 noms) alors je ne peux pas utiliser une solution comme me l'a aimablement proposé Tessel25.

Je serai ravie que vous m'éclairiez de vos lumières....
0
Raymond PENTIER Messages postés 58388 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 avril 2024 17 088
11 déc. 2013 à 13:34
Je ne pratique pas Excel en anglais.
Toutefois je sais qu'il faut remplacer les points-virgules par des virgules ...
Tu n'as pas précisé quel était ce message d'erreur : je suppose que tes données sont bien dans la colonne A:A ?
0
Ca ne marche toujours pas.
Un grand merci à vous pour votre aide
0
Super, on avance mais ce n'est pas encore ça !

Maintenant j'ai obtenu un tableau du style :Arnaud 12 rue Courcelles dans une seule cellule. Comment puis je scinder cette cellule pour avoir dans A1 le nom et dans A2 l'adresse. Mon but ultime étant de classer les adresses...

Mille mercis !!!!!!!!!!!!

PS : Il fallait bien changer ligne par row (honte à moi !!!! j'aurais pu m'en douter !!!!!) par contre, il faut garder les points virgules sinon la fonction ne marche pas...
0

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

Posez votre question
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 12/12/2013 à 08:28
bonjour,

LIgne() sur un excel en anglais:
ROW()
et donc:
=INDEX(A:A,3*ROW()-2) &" "&INDEX(A:A,3*ROW()-1)

pour les francophones bossant sur des excel en anglais et pour les dévoués et infatigables bénévoles,les pôvres!

il existe un fichier indispensable
VBALIST.XLS
pour cette discussion, page "fonction de feuille de calcul"
pour trouver
démarrer-rechercher vbalist*

et comme déjà dit remplacer les points-virgules par des virgules

Michel
0
re-Bonjour

Je reprends mon problème :
J'ai supprimé dans mon fichier d'origine toutes les lignes vides. Donc maintenant je me retrouve avec un tableau du style :
A1 : Paul
A2 : 13 rue des Platanes
A3 : Rob
A4 : 35 rue des Acacias
etc
Comment puis je faire pour avoir
A1 : Paul
B1 : 13 rue des Platanes
A2 : Rob
B2 : 35 rue des Acacias

Sachant que mon but ultime est de trier ce tableau en fonction des rues !!!!!!!!

Merci de votre aide !!! et de votre incroyable patience !!!

Alex
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
12 déc. 2013 à 08:56
Bonjour à tous,

Pour les utilisateurs excel anglais n'oubliez pas les correspondances de fonctions établies par pijaku sur CCM.
0
super pratique merci

seulement mon problème n'est toujours pas résolu!!!!!!
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
Modifié par gbinforme le 12/12/2013 à 10:16
Bonjour,

Avec ton tableau sans lignes vides
en B1 :
=SI(MOD(LIGNE();2)=0;"";A1)
en C1 :
=SI(MOD(LIGNE();2)=0;"";A2)
Tu tires tes formules selon ta plage A:A et il ne te reste plus qu'à trier B:C

PS: tu sais mettre les formules en anglais, maintenant...
Toujours zen
La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer. Antoine de Saint-Exupéry
0
Bonjour gbinforme

Enfin ça marche !!!! Pour moi, qui ne connaissait rien à Excel, c'est un miracle !!!!!!!
Je voudrais vous remercier très sincèrement car pour moi ce sont des heures de galère en moins

Mille mercis pour votre patience et votre savoir faire !!

Alex
0
Raymond PENTIER Messages postés 58388 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 avril 2024 17 088
12 déc. 2013 à 18:02
Alex ! Alex !

1)
Ta question initiale ne demandait pas un affichage en 2 colonnes
Je voudrais arriver à un tableau du style 
Arnaud 12, rue de Courcelles
Juliette 15 rue des Platanes
Ce n'est qu'au douzième message que tu ajoutes cette contrainte !

2) Tu aurais pu facilement partir de ma formule
=INDEX(A:A;3*LIGNE()-2)&" "&INDEX(A:A;3*LIGNE()-1) pour écrire
=INDEX(A:A;3*LIGNE()-2) en B1 et
=INDEX(A:A;3*LIGNE()-1) en C1 !
Ces formules ne nécessitent pas la suppression des lignes vides ...
0
Bonjour !

Eh oui, vous avez complètement raison, je n'ai pas été assez explicite dans l'énoncé de mon problème ! Et surtout je n'ai pas précisé mon but ultime, à savoir trier tout mon tableau en fonction des rues
J'ai recopié (en anglais) vos formules et ça marche en effet ! mais par contre, je n'arrive pas à trier mes colonnes ensuite !! Grrrrrrr

Bon, en tout cas, je vous remercie très sincèrement car je trouve ça généreux de votre part de partager vos connaissances sur le net !

Mille mercis pour votre patience et votre savoir faire !!

Alex
0
Raymond PENTIER Messages postés 58388 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 avril 2024 17 088
13 déc. 2013 à 21:25
C'est volontairement que j'y vais par étapes, car tu risques de tout mélanger ...

Si tu as appliqué mes formules, et si ta colonne A comportait 1200 noms et 1200 adresses, cela a occupé 3600 lignes. Avec mes formules, tu as des résultats de B1 à C1200.
Un tri sur la colonne B ne va provoquer aucun changement, puisque ce sont des formules qui continuent à se baser sur la colonne A
.
Il faut donc maintenant sélectionner B1:C1200 et faire Copier ;
puis aller en A1 et faire Collage spécial Valeurs.
Tu supprimes alors la colonne C et les lignes 1201 à 3600, qui ne servent plus à rien.

Et plus rien ne t'empêche de faire ton tri ...
0
GENIAL !!! Ca marche !!!
Merci 1000 fois de votre patience et de votre gentillesse !!
On peut dire que j'ai appris pas mal de trucs en un min de temps grâce à vous !!!
J'espère qu'un jour je pourrais rendre service à quelqu'un comme vous l'avez fait avec moi !!
Bonne continuation et peut être à un de ces jours pour d'autres problèmes ardus (enfin... ardus pour moi !!!)
Alex
0
Raymond PENTIER Messages postés 58388 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 avril 2024 17 088
17 déc. 2013 à 14:10
Tant mieux si tu as pu apprendre et retenir de nouvelles manipulations et formules.
Elles te seront utiles pour la suite ...

Amicalement.
0
Bonjour

faire une macro si tu bricole un peu dans vba

Sub testLigne()
Nlig = Range("A" & Rows.Count).End(xlUp).Row
Lig = 1
For L = 1 To Nlig Step 2
Range("B" & Lig).Value = Range("A" & L).Value
Range("C" & Lig).Value = Range("A" & L + 1).Value
Lig = Lig + 1
Next
End Sub

A+
Maurice
0
Merci pour votre réponse
Mais je suis un bleu en excel et je n'ai aucune idée de ce qu'est une macro (j'imagine d'après ce que vous m'avez envoyé que c'est un mini programme mais je ne sais pas comment la faire fonctionner !!!!
Alex
0