Copie de formules horizontal

Bonjour,

Mon fichier Excel comporte 2 onglets :

  • Le premier onglet "appreciation" contient des notes d'élèves. Il est disposé de la manière suivante : dans la première colonne, on a le nom de chaque élève. Dans la seconde colonne, on a les notes relatives à l'Item1 (Item1 = "appréciation orale" par exemple), pour chaque élève. Ces notes sont récupérées d'un autre fichier, il s'agit donc de formules. Dans la troisième colonne, on a les notes relatives à l'Item2 (Item2 = "appréciation écrite"par exemple). Et ainsi de suite. On a donc un tableau de notes, vertical, pour chaque élève, fait à partir de formules.
  • Dans mon deuxième onglet "rel", j'aimerais copier ces données verticales (item1 par exemple), pour les mettre en horizontal. Je n'y arrive pas.

Par exemple, dans la première cellule du deuxième onglet, j'ai inséré la formule suivante : "=appreciation!F5"

En glissant la souris sur la droite (horizontal), j'aurais aimé que ça s'incrémente de la manière suivante :

"=appreciation!F5" / "=appreciation!F6" / "=appreciation!F7" / "=appreciation!F8" et ainsi de suite.

Or voilà ce que j'obtiens :

"=appreciation!F5" / "=appreciation!G5" / "=appreciation!H5" / "=appreciation!I5" et ainsi de suite.

J'ai trouvé sur le forum une solution avec "INDEX" mais je ne l'ai pas comprise.

Quelqu'un pourrait me donner une solution, ou m'expliquer "mieux" la solution avec INDEX ?

Merci !

Bonjour.

Avez-vous essayé l'option transposé (en bas à droite) qui figure dans la boite de dialogue du collage spécial ?

Cela ne fonctionne pas, car l'onglet 1 est rempli à partir de formules

Un collage spéciale en transposant mais uniquement les valeur pas les formules peut être votre solution.

Non plus, car l'onglet 2 doit être "actif", c'est à dire qu'il doit pouvoir évoluer en fonction de l'onglet 1.

Je ne voulais pas embrouiller les choses, mais il y a trois onglet :

  • L'onglet de "saisie" ou les profs saisissent les notes.
  • L'onglet "Appreciation", que je nommais "onglet 1", qui récupère les notes de l'onglet "saisie", à l'aide de formules, afin de les trier dans un certain ordre, en colonne, par items.
  • L'onglet "Rel", que je nommais "onglet 2" (c'est l'onglet qui pose problème), ou je voudrais transposer certains résultats de l'onglet appreciation, sous forme de colonne.

Voici-ci joint un exemple. C'est l'onglet "Rel" qui pose problème : je voudrais trouver un moyen de ne pas tout me taper à la main.

14exemple.zip (34.71 Ko)

Les critères que tu sélectionnes sont les "blablas"?

Votre objectif est-il d'associer l'ensemble des commentaires faits sur chaque élève en concaténant (regroupant) ces derniers ?

Les "Blablas" de l'onglet "rel" correspondent aux blablas de l"onglet "appreciation", mais il ne sont pas dans le même ordre.

Tu vois, dans la cellule C13 de l'onglet "Rel", j'ai la formule "=appreciation!F5".

Dans la cellule C14, j'aimerais "=appreciation!F6"

Puis dans C15, "=appreciation!F7"......ect

J'aimerais juste trouver un moyen pour "glisser" les formules horizontalement

Je m'explique : Je clique sur C13, et je glisse sur le reste de la ligne, pour que ça me fasse :

"=appreciation!F5" / "=appreciation!F6" / "=appreciation!F7" / "=appreciation!F8" / "=appreciation!F9"

automatiquement

Mais ça ne marche pas.

J'ai été assez clair ? L'un d'entre vous aurait une idée ?

Merci beaucoup !!

Bonjour.

Avez essayé d'utiliser la fonction TRANSPOSE ?

Bonjour,

Je ne voulais pas embrouiller les choses, mais...

Des blabla partout dans des champs avec des rôles différents embrouillent très bien aussi et rebutent. A éviter la prochaine fois stp.

Donc on oublie les index() equiv() à cause de ces blabla qui empêchent de s'y retrouver.

Et on se base sur la position pure. A tester en C13 :

=DECALER(appreciation!$F$5;COLONNE()-3;LIGNE()-13)

Tu pourrais avantageusement remplacer tes formules dans 'appreciation' par des recherchev() dans des tables.

eric

C'est une bonne idée merci, je ne connaissais pas cette fonction.

Par contre j'ai fait quelques essais, et j'ai toujours "#REF!" qui s'affiche.

Je ne sais pas si il s'agit d'un problème de format.

Dans l'exemple ci-joint, j'ai fait l'essai pour essayer de transposer la colonne "Item1" de l'onglet "appreciation" vers la ligne 13 de l'onglet "Rel".

J'ai utilisé la fonction "TRANSPOSE" et la fonction "INDIRECT" : toujours le même résultat.

J'utilise peut-être mal ces deux formules ? Quelqu'un pourrait m'indiquer la procédure à suivre ?

Merci.


Oups, je n'avais pas vu la page 2.

Je fais l'essais, merci !

1exemple.zip (35.60 Ko)
eriiic a écrit :

Bonjour,

Je ne voulais pas embrouiller les choses, mais...

Des blabla partout dans des champs avec des rôles différents embrouillent très bien aussi et rebutent. A éviter la prochaine fois stp.

Donc on oublie les index() equiv() à cause de ces blabla qui empêchent de s'y retrouver.

Et on se base sur la position pure. A tester en C13 :

=DECALER(appreciation!$F$5;COLONNE()-3;LIGNE()-13)

Tu pourrais avantageusement remplacer tes formules dans 'appreciation' par des recherchev() dans des tables.

eric

Cool merci, ça marche !!

Par contre, j'avoue j'ai rien compris....

J'ai regardé les arguments de la fonction "DECALER" :

Elle s'écrit avec 5 paramètres :

1/ Cellule de départ

2/ Décalage vers le bas (vers le haut si valeur négative)

3/ Décalage vers la droite (vers la gauche si valeur négative)

4/ Hauteur de la plage (en nombre de cellules)

5/ Largeur de la plage (en nombre de cellules)

Donc, je veux récupérer la valeur de la cellule F5 de l'onglet appreciation, pour la mettre dans la cellule C13 de l'onglet "rel".

F5 ----> C13

Pour moi, la formule serait donc "=DECALER(appreciation!$F$5;8;-3)", mais bien-sûr ça ne marche pas..

  • --> Pourrais-tu m'expliquer ta formule, que je puisse la reproduire pour les autres lignes ?
  • --> Pourquoi tu mets "colonne(), ligne()" ?
  • ---> Comment tu peux trouver les -3 et -13 ?!

Merci !

Bonjour,

Ligne() et Colonne() retournent la ligne et la colonne où est inscrite la fonction.

Si tu es en C13 ça va te retourner 13 et 3. Ces valeurs changent quand tu tires ta formule vers la droite et vers le bas.

En C13 tu veux quoi ? appreciation!F5.

Ton decaler doit dépendre de la colonne de ta formule pour le paramètre ligne, donc utilisation de colonne() qui te retourne 3. Mais tu veux un offset de 0 par rapport à F5 (et non par rapport à C13), donc faire colonne()-3.

Même raisonnement pour le paramètre colonne et on abouti à :

=DECALER(appreciation!$F$5;COLONNE()-3;LIGNE()-13)
soit : =DECALER(appreciation!$F$5;0;0)
si tu tires ta formule sur la droite  tu auras :
=DECALER(appreciation!$F$5;1;0) qui est bien F6 que tu voulais

Ici pas besoin des paramètres optionnels hauteur et largeur.

Je ne sais pas si c'est plus clair pour toi mais je ne vois pas comment expliquer autrement.

eric

Merci eriiiiiiic,; j'ai tout compris !

Je prenais pas la bonne référence...

On peut fermer le sujet

Rechercher des sujets similaires à "copie formules horizontal"