Pb Excel : transformation données L vers C

Fermé
1977franck Messages postés 2 Date d'inscription lundi 25 octobre 2010 Statut Membre Dernière intervention 30 octobre 2010 - 25 oct. 2010 à 20:20
1977franck Messages postés 2 Date d'inscription lundi 25 octobre 2010 Statut Membre Dernière intervention 30 octobre 2010 - 30 oct. 2010 à 22:03
Bonsoir,

J'aimerais pourvoir faire un copier-coller de ma cellule E22 (onglet Synthèse) sur la colonne (vers E23, E24, etc...) et que la formule de calcul soit maintenue avec uniquement une modification des colonnes de référence :
=SOMME.SI('VENTES - Détails'!$A:$A;$B$9;'VENTES - Détails'!J:J)+SOMME.SI('VENTES PART - Détails'!$A:$A;$B$10;'VENTES - Détails'!J:J)+SOMME.SI('VENTES - Détails'!$A:$A;$B$11;'VENTES - Détails'!J:J)+SOMME.SI('VENTES PART - Détails'!$A:$A;$B$12;'VENTES - Détails'!J:J)+SOMME.SI('VENTES - Détails'!$A:$A;$B$13;'VENTES - Détails'!J:J)

Exemple : En E23 : J:J devient K:K, en E24 K:K devient L:L, etc......

Merci par avance si vous avez la solution.
(Fichier allègé dans sa présentation pour vous faciliter la compréhension mais liste de produits très longue en réalité sur fiche synthèse).

Fichier dispo chez ci-joint.fr : http://www.cijoint.fr/cjlink.php?file=cj201010/cijwzzXo09.xls
A voir également:

1 réponse

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 216
Modifié par eriiic le 26/10/2010 à 21:25
Bonjour,

en E22 remplace :
'VENTES - Détails'!J:J
par :
DECALER('VENTES - Détails'!J:J;0;LIGNE()-22)

mais ça va faire un peu long comme formule...

A la place tu peux te définir un nom (source par exemple) avec :
=DECALER('VENTES - Détails'!J:J;0;LIGNE()-22)
(contrôle ton nom après validation, excel s'amuse souvent à rajouter des $ ou des " ")

Ta formule devient :
=SOMME.SI('VENTES - Détails'!$A:$A;$B$9;source)+SOMME.SI(

eric
1
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 216
Modifié par eriiic le 26/10/2010 à 21:26
Bonjour,

L'explication suite à ton mp

En fait je viens de voir que je m'étais trompé en collant la formule. Je t'ai mise celle de test (je ramenais une valeur pour voir si j'étais dans la bonne colonne), tu n'as pas besoin de Index().
J'ai modifié mon précédent post en conséquence.

Donc remplacer :
'VENTES - Détails'!J:J
par :
DECALER('VENTES - Détails'!J:J;0;LIGNE()-22)

idem si tu passes par la définition d'un nom.

decaler(ref;nblig;nbcol) permet de décaler une référence ref de nlig lignes et ncol colonnes.
Ton besoin :
En E23 : J:J devient K:K, en E24 K:K devient L:L, etc......
Si on prend J:J comme ref, pour la ligne 22 il te faudra un décalage de 0 colonne, en ligne 23 un décalage de 1, etc
ligne() permet de récupérer le n° de ligne où est inscrite la formule.
L'offset colonne nbcol est donc LIGNE()-22
et nblig=0

D'autre part je n'avais pas vu que tu avais joint un fichier. A mon avis il y a une erreur...
Ta formule finale devrait plutôt être :
=SOMME.SI('VENTES - Détails'!$A:$A;$B$9;DECALER('VENTES - Détails'!J:J;0;LIGNE()-22))+SOMME.SI('VENTES - Détails'!$A:$A;$C$9;DECALER('VENTES - Détails'!J:J;0;LIGNE()-22))+SOMME.SI('VENTES - Détails'!$A:$A;$D$9;DECALER('VENTES - Détails'!J:J;0;LIGNE()-22))+SOMME.SI('VENTES - Détails'!$A:$A;$E$9;DECALER('VENTES - Détails'!J:J;0;LIGNE()-22))+SOMME.SI('VENTES - Détails'!$A:$A;$F$9;DECALER('VENTES - Détails'!J:J;0;LIGNE()-22))

à recopier vers le bas
eric
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 216
30 oct. 2010 à 18:07
de rien 1977franck !!!!
0
1977franck Messages postés 2 Date d'inscription lundi 25 octobre 2010 Statut Membre Dernière intervention 30 octobre 2010
30 oct. 2010 à 22:03
Eric,

Me revoici après qq jours d'absence. Je te remercie vivement et vais essayer la formule que tu me proposes.

A bientôt
0