[Excel 2013] Cherche une formule pour transposer un liste sans les vides

Bonjour,

Je me casse la tête sur une formule qui me permettrait de transposer une liste horizontale en liste verticale et surtout sans les cellules vides.

Voilà une image de ce que je cherche :

captureforumexcel

Simplement passer de la liste à gauche, qui est remplie manuellement sans formules, à celle à droite automatiquement.

Quelqu'un aurait-il une idée ? Merci d'avance

Bonjour,

À tester :

=INDEX($A$2:$E$2;PETITE.VALEUR(SI($A$2:$E$2<>"";COLONNE($A$2:$E$2));LIGNES($1:1)))

à valider à l'aide de la combinaison Ctrl+Shift+Enter

Si tu veux éviter les #NOMBRE!, vérifie si la fonction SIERREUR est disponible sous 2013 et si oui :

=SIERREUR(INDEX($A$2:$E$2;PETITE.VALEUR(SI($A$2:$E$2<>"";COLONNE($A$2:$E$2));LIGNES($1:1)));"")

Merci pour la réponse, c'est déjà mieux j’obtiens quelque chose mais si jamais ma liste initiale ne commence pas en colonne A, D2:D10 par exemple, j'ai des erreurs, il m'affiche en premier une des valeurs centrales et rien d'autre ou des zéros inexistants..

Si elle commence en colonne A ça fonctionne parfaitement en revanche. Mais dans mon cas j'aimerai éviter d'avoir à commencer la liste en colonne A.

Re-bonjour,

Si ta "source" est toujours au même emplacement, il n'y aura qu'à faire une petite adaptation ... si l'emplacement change tout le temps, il faudra adapter à chaque fois !

Oui bien sûr j'ai modifié la plage prise en compte dans la formule pour qu'elle corresponde à la position de ma liste principale. C'est justement lorsque cette plage ne commence pas en colonne A que la formule ne fonctionne plus.

Pour une liste en D2:J2, j'adapte la formule comme ceci :

=SIERREUR(INDEX($D$2:$J$2;PETITE.VALEUR(SI($D$2:$J$2<>"";COLONNE($D$2:$J$2));LIGNES($1:1)));"")

Mais le résultat est :

captureforumexcel

Rien dans la colonne. J'ai bien la formule en E4 que j'ai "tirée" jusqu'en E8 et je l'ai bien validée en faisant Ctrl+Shift+Entrer.

Peut être que la LIGNES($1:1) est à modifier aussi ?

Bonjour,

Dans ton cas c'est COLONNE() qu'il faut adapter :

=SIERREUR(INDEX($D$2:$J$2;PETITE.VALEUR(SI($D$2:$J$2<>"";COLONNE($D$2:$J$2)-3);LIGNES($1:1)));"")

COLONNE renvoie le n° de colonne dans la feuille de calcul, mais il faut que cette colonne corresponde à la plage sélectionnée dans INDEX() (d'où le '-3' ajouté, pour que cette colonne soit égale à 1 et non à 4)

C'était bien le problème, merci beaucoup.

Bonne journée

Rechercher des sujets similaires à "2013 cherche formule transposer liste vides"