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 58789 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 1 janvier 2025 - 17 déc. 2013 à 14:10
Raymond PENTIER Messages postés 58789 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 1 janvier 2025 - 17 déc. 2013 à 14:10
A voir également:
- Transformer des lignes en colonnes dans excel
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Déplacer une colonne excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Aller à la ligne excel - Guide
- Liste déroulante excel - Guide
9 réponses
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
10 déc. 2013 à 22:50
10 déc. 2013 à 22:50
bonsoir,
sélectionner la colonne, clic droit/Copier
activer une cellule vide, clic droit/collage spécial/transposer
sélectionner la colonne, clic droit/Copier
activer une cellule vide, clic droit/collage spécial/transposer
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
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
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
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
Raymond PENTIER
Messages postés
58789
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
1 janvier 2025
17 260
11 déc. 2013 à 01:06
11 déc. 2013 à 01:06
Raymond PENTIER
Messages postés
58789
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
1 janvier 2025
17 260
11 déc. 2013 à 01:58
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.
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.
Raymond PENTIER
Messages postés
58789
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
1 janvier 2025
17 260
11 déc. 2013 à 01:51
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 ...
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 ...
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....
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....
Raymond PENTIER
Messages postés
58789
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
1 janvier 2025
17 260
11 déc. 2013 à 13:34
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 ?
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 ?
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...
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...
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 310
Modifié par michel_m le 12/12/2013 à 08:28
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
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
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
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
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
12 déc. 2013 à 08:56
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.
Pour les utilisateurs excel anglais n'oubliez pas les correspondances de fonctions établies par pijaku sur CCM.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
Modifié par gbinforme le 12/12/2013 à 10:16
Modifié par gbinforme le 12/12/2013 à 10:16
Bonjour,
Avec ton tableau sans lignes vides
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
Avec ton tableau sans lignes vides
en B1 :Tu tires tes formules selon ta plage A:A et il ne te reste plus qu'à trier B:C
=SI(MOD(LIGNE();2)=0;"";A1)
en C1 :
=SI(MOD(LIGNE();2)=0;"";A2)
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
Raymond PENTIER
Messages postés
58789
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
1 janvier 2025
17 260
12 déc. 2013 à 18:02
12 déc. 2013 à 18:02
Alex ! Alex !
1) Ta question initiale ne demandait pas un affichage en 2 colonnes
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 ...
1) Ta question initiale ne demandait pas un affichage en 2 colonnes
Je voudrais arriver à un tableau du styleCe n'est qu'au douzième message que tu ajoutes cette contrainte !
Arnaud 12, rue de Courcelles
Juliette 15 rue des Platanes
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 ...
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
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
Raymond PENTIER
Messages postés
58789
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
1 janvier 2025
17 260
13 déc. 2013 à 21:25
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.
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 ...
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 ...
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
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
Raymond PENTIER
Messages postés
58789
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
1 janvier 2025
17 260
17 déc. 2013 à 14:10
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.
Elles te seront utiles pour la suite ...
Amicalement.
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
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