Reporter horizontalement des données verticales

J

JJ1

Guest
Bonjour,

Mon tableau de données est vertical (exemple ici en descendant de A60 à E63) et pour ces données correspondent des valeurs (F60:J63)
Je voudrais les transférer horizontalement vers la droite en B4:E34 en faisant correspondre données et valeurs (tableau).
Je joins un exemple succint.
Pouvez-vous m'en indiquer la formule-merci
Bon dimanche à tous.
 

Pièces jointes

  • Classement.xls
    24.5 KB · Affichages: 113
  • Classement.xls
    24.5 KB · Affichages: 116
  • Classement.xls
    24.5 KB · Affichages: 114

Tibo

XLDnaute Barbatruc
Re : Reporter horizontalement des données verticales

Bonjour,

Une tentative avec SOMMEPROD associé à DECALER :

en B4 :

Code:
=SOMMEPROD((DECALER($F$59;COLONNES($A:A);;;5)=$A4)*DECALER($A$59;COLONNES(
$A:A);;;5))
à recopier vers le bas et vers la droite

On peut traiter les 0 (zéro) avec un format personnalisé.

Je te laisse tester

@+
 

JHA

XLDnaute Barbatruc
Re : Reporter horizontalement des données verticales

Bonjour,

ci joint un début de réponse avec transpose et decaler dans la 2ème ligne du tableau.
Pour la 3ème ligne et la suite, recopier vers le bas
Tu peux aussi copier la 2ème ligne du tableau sur la 1ère ligne afin d'avoir qu'un type de formule.

Edit: Bonjour Tibo, oups! j'ai pris le problème à l'envers.

JHA
 

Pièces jointes

  • reporter horizontalement.xls
    31 KB · Affichages: 80
Dernière édition:
J

JJ1

Guest
Re : Reporter horizontalement des données verticales

Bonjour Tibo, JHA
Merci pour vos formules.
Je viens de tester la formule de Tibo qui fonctionne mais ajoute les valeurs si elles sont identiques?
Je joins l'exemple de l'erreur pour 0
merci


ps: comment faire le format personnalisé remplaçant les 0 du tableau par une cellule vide "" ?
 

Pièces jointes

  • Classement2.zip
    9.6 KB · Affichages: 49
  • Classement2.zip
    9.6 KB · Affichages: 45
  • Classement2.zip
    9.6 KB · Affichages: 50

Tibo

XLDnaute Barbatruc
Re : Reporter horizontalement des données verticales

re,

Qu'attends-tu comme valeur en B4 (selon ton dernier fichier joint) ?

Un format personnalisé n'agit pas sur le contenu et ne pourra retourner une cellule vide.

Je te proposais d'appliquer un format personnalisé de ce type :

0;0;

qui a pour effet de ne pas afficher les 0 (mais ils sont là).

A te (re)lire

@+
 
J

JJ1

Guest
Re : Reporter horizontalement des données verticales

Re,

Effectivement je n'ai pas donné le résultat en cas de valeurs identiques:
ici, pour le 0, j'ai 2 valeurs : 34 et 44 (ce qui donne 78 en somme) mais je dois visualiser les 2 valeurs 34 et 44, en les séparant par un espace ou un tiret ou un / , au choix dans la cellule B4.
Bien sûr il pourra y avoir aussi 3 ou plus valeurs identiques (cas rares mais possibles)

merci de ton aide.

ps: les fichiers de JHA et David 84 (merci) partent du tableau en haut pour me donner le tableau du bas, c'est exactement l'inverse, je cherche à créer la matrice du haut.
 
Dernière modification par un modérateur:

Tibo

XLDnaute Barbatruc
Re : Reporter horizontalement des données verticales

re,

Vouloir traiter la chose par formule, pourquoi pas, ça donne simplement une formule un tantinet longue ... :p :

en B4 :

Code:
=SUPPRESPACE(SI(SOMME((DECALER($F$59;COLONNES($A:A);;;5)=$A4)*1)>0;
GRANDE.VALEUR(SI((DECALER($F$59;COLONNES($A:A);;;5)=$A4);(DECALER(
$F$59;COLONNES($A:A);;;5)=$A4)*DECALER($A$59;COLONNES($A:A);;;5));
1);"")&" "&SI(SOMME((DECALER($F$59;COLONNES($A:A);;;5)=$A4)*1)>1;
GRANDE.VALEUR(SI((DECALER($F$59;COLONNES($A:A);;;5)=$A4);(DECALER(
$F$59;COLONNES($A:A);;;5)=$A4)*DECALER($A$59;COLONNES($A:A);;;5));
2);"")&" "&SI(SOMME((DECALER($F$59;COLONNES($A:A);;;5)=$A4)*1)>2;
GRANDE.VALEUR(SI((DECALER($F$59;COLONNES($A:A);;;5)=$A4);(DECALER(
$F$59;COLONNES($A:A);;;5)=$A4)*DECALER($A$59;COLONNES($A:A);;;5));
3);"")&" "&SI(SOMME((DECALER($F$59;COLONNES($A:A);;;5)=$A4)*1)>3;
GRANDE.VALEUR(SI((DECALER($F$59;COLONNES($A:A);;;5)=$A4);(DECALER(
$F$59;COLONNES($A:A);;;5)=$A4)*DECALER($A$59;COLONNES($A:A);;;5));
4);"")&" "&SI(SOMME((DECALER($F$59;COLONNES($A:A);;;5)=$A4)*1)>4;
GRANDE.VALEUR(SI((DECALER($F$59;COLONNES($A:A);;;5)=$A4);(DECALER(
$F$59;COLONNES($A:A);;;5)=$A4)*DECALER($A$59;COLONNES($A:A);;;5));
5);""))

Bon, certaines parties pourraient être nommées, ce qui permettrait de raccourcir sérieusement cette formule.

Il s'agit d'une formule matricielle, donc validation par CTRL + MAJ + ENTREE

Je joins le fichier.

On est très proche de la longueur maxi autorisée sous Excel 2003 (994 caractères - limite = 1024 caractères ouf !)

@+
 

Pièces jointes

  • JJ1_v2.zip
    15 KB · Affichages: 45
J

JJ1

Guest
Re : Reporter horizontalement des données verticales

Re,

Euh......je ne pense pas que la mémoire du bloc-note soit assez grande pour y contenir cette formule très évidente......je peux toujours essayer, en tout cas bravo!
je vais voir le temps de traitement de la formule !
bon AM
 
J

JJ1

Guest
Re : Reporter horizontalement des données verticales

Vu le travail de formule fait par Tibo, je me dois de joindre le fichier avec la formule installée (et qui fonctionne très bien)
merci
Bon am
 

Pièces jointes

  • Classement2.zip
    8.3 KB · Affichages: 60
  • Classement2.zip
    8.3 KB · Affichages: 47
  • Classement2.zip
    8.3 KB · Affichages: 48

Discussions similaires

Statistiques des forums

Discussions
312 837
Messages
2 092 660
Membres
105 482
dernier inscrit
Eric.FKF