OVH Cloud OVH Cloud

formules avec références décalées

21 réponses
Avatar
Michèle
Bonsoir,

Voici mon problème
Soit une liste de valeurs en colonne A
Je veux trouver une formule pour calculer, sans tout recommencer à chaque
ligne :
25% de A1 en E1 et 50% de A1 en F1
25% de A2 en F2 et 50% de A2 en G2
25% de A3 en G3 et 50% de A3 en H3
etc....
J'ai essayé plein de trucs avec INDIRECT, mais je n'y arrive pas.
Quelqu'un a une idée ?
Merci d'avance
et bonne nuit

Michèle

10 réponses

1 2 3
Avatar
michdenis
Bonjour FxM,

En relisant la question attentivement, on ne peut pas utiliser la poignée de recopie pour ces formules puisque la
recopie doit être faite avec un décalage d'une cellule vers la droite à chaque ligne ... Ton explication pour la donne
du problème ne tient pas, pas plus que ma solution et celle de AV.


Salutations!



"FxM" a écrit dans le message de news:%
Bonjour Michèle,

Pour les adresses de cellules, laisse un $ devant ce qui ne doit PAS
bouger. D'après ce que tu as écrit, ca devrait donner $A1

colonnes : $A restera toujours $A
lignes : tandis que 1 évoluera

@+
FxM





Michèle wrote:

Bonjour,

Peux-tu m'expliquer comment "marche" ta solution ?
En effet,
si je saisis en E1 : = A1*0.25
quand je copie cette formule en F2, il va me calculer 25% de B2 et non de A2
si je saisis en E1 : =$A$1*0.25
quand je copie cette formule en F2, il continue à me calculer 25% de A1 et
non de A2
Merci de m'indiquer ton "truc"
Bonne journée

Michèle


--------------------


Et bien NON, il y a plus court ...;-))

si tu copies la formule à partir de la barre des formules, tu n'est pas


obligé de figer la colonne ...

'---------------
En E1 : ¡*0.25
En F1 : ¡*0.5

Ensuite un simple copier/coller ...
'---------------

;-)

Salutations!


---------------------------
Ma question :
Soit une liste de valeurs en colonne A
Je veux trouver une formule pour calculer, sans tout recommencer à chaque
ligne :
25% de A1 en E1 et 50% de A1 en F1
25% de A2 en F2 et 50% de A2 en G2
25% de A3 en G3 et 50% de A3 en H3







Avatar
FxM
Bonjour Michel :o)

Dans un premier temps, Michèle nous dit :
25% de A1 en E1 et 50% de A1 en F1
25% de A2 en F2 et 50% de A2 en G2
25% de A3 en G3 et 50% de A3 en H3
etc....

Ensuite, elle précise :
<snip> sachant qu'en réalité dans mon tableau la liste de valeurs
ne se trouve pas dans la colonne A mais en E et les calculs ne se font
pas à partir des colonnes E et F mais G et H

On se trouve donc avec le problème suivant :
25% de e1 en f1 et 50% de e1 en g1 -> f1 = e1/4 & g1 = e1/2
25% de e2 en g2 et 50% de e2 en h2 -> g2 = e2/4 & h2 = e2/2
25% de e3 en h3 et 50% de e3 en i3 -> h3 = e3/4 & i3 = e3/2
On constate que la colonne e est toujours présente tandis que les lignes
évoluent.

En F1 : =$e1 / 4
En G1 : =$e1 / 2
Sélection de F1:G1 | edition | copier
Sélection de G2 | ctrl-v (donne =$E2/4 & =$E2/2)
Sélection de H3 | ctrl-v (donne =$E3/4 & =$E3/2)
etc, etc
Ce qui me semble répondre à la question initiale.

Un peu dur les réveils au Canada :o)) ?

@+
FxM



michdenis wrote:
Bonjour FxM,

En relisant la question attentivement, on ne peut pas utiliser la poignée de recopie pour ces formules puisque la
recopie doit être faite avec un décalage d'une cellule vers la droite à chaque ligne ... Ton explication pour la donne
du problème ne tient pas, pas plus que ma solution et celle de AV.


Salutations!



"FxM" a écrit dans le message de news:%
Bonjour Michèle,

Pour les adresses de cellules, laisse un $ devant ce qui ne doit PAS
bouger. D'après ce que tu as écrit, ca devrait donner $A1

colonnes : $A restera toujours $A
lignes : tandis que 1 évoluera

@+
FxM


Avatar
FxM
Arghh, je corrige : cause décalage vers F&G et non G&H

25% de e1 en g1 et 50% de e1 en h1 -> g1 = e1/4 & h1 = e1/2
25% de e2 en h2 et 50% de e2 en i2 -> h2 = e2/4 & i2 = e2/2
25% de e3 en i3 et 50% de e3 en j3 -> i3 = e3/4 & j3 = e3/2

En G1 : =$e1 / 4
En H1 : =$e1 / 2
Sélection de G1:H1 | edition | copier
Sélection de H2 | ctrl-v (donne =$E2/4 & =$E2/2)
Sélection de I3 | ctrl-v (donne =$E3/4 & =$E3/2)
etc, etc
Ce qui me semble toujours répondre à la question initiale. :o)

@+
FxM
Avatar
Michèle
rebonjour,

Oui ! Super ! Le nez dans le guidon, je m'obstinais à faire un $A$1 au lieu
de $A1 !
Moi aussi j'ai lu trop vite les propositions.
En effet, cette solution qui ne permet pas la recopie avec la poignée de
recopie reste une solution tout à fait acceptable avec un Ctrl V en
attendant que j'ai bien compris la proposition d'Isabelle.
Merci et bon WE

Michèle

Pour les adresses de cellules, laisse un $ devant ce qui ne doit PAS
bouger. D'après ce que tu as écrit, ca devrait donner $A1

colonnes : $A restera toujours $A
lignes : tandis que 1 évoluera

@+
FxM





Michèle wrote:

Bonjour,

Peux-tu m'expliquer comment "marche" ta solution ?
En effet,
si je saisis en E1 : = A1*0.25
quand je copie cette formule en F2, il va me calculer 25% de B2 et non
de A2


si je saisis en E1 : =$A$1*0.25
quand je copie cette formule en F2, il continue à me calculer 25% de A1
et


non de A2
Merci de m'indiquer ton "truc"
Bonne journée

Michèle


--------------------


Et bien NON, il y a plus court ...;-))

si tu copies la formule à partir de la barre des formules, tu n'est pas


obligé de figer la colonne ...

'---------------
En E1 : ¡*0.25
En F1 : ¡*0.5

Ensuite un simple copier/coller ...
'---------------

;-)

Salutations!


---------------------------
Ma question :
Soit une liste de valeurs en colonne A
Je veux trouver une formule pour calculer, sans tout recommencer à
chaque


ligne :
25% de A1 en E1 et 50% de A1 en F1
25% de A2 en F2 et 50% de A2 en G2
25% de A3 en G3 et 50% de A3 en H3









Avatar
FxM
Michèle wrote:

rebonjour,

Oui ! Super ! Le nez dans le guidon, je m'obstinais à faire un $A$1 au lieu
de $A1 !
Moi aussi j'ai lu trop vite les propositions.
En effet, cette solution qui ne permet pas la recopie avec la poignée de
recopie reste une solution tout à fait acceptable avec un Ctrl V en
attendant que j'ai bien compris la proposition d'Isabelle.
Merci et bon WE

Michèle


Bonjour Michèle,

­resse(ligne;colonne) te renvoit l'adresse d'une cellule.
­resse(3;4) te renvoit $D$3
=indirect(adresse(3;4)) renvoit le contenu de D3 (et non plus son adresse).

Oublions pour l'instant les coefficients :
Pour obtenir E1 dans G1, E2 dans H2, E3 dans I3, on constate que la
ligne de destination est la même que la ligne d'origine et que tu
décales de 1 colonne à chaque ligne.

En G1 : = adresse(ligne();colonne()-2) te donne $E$1
mais 2 doit être variable et tenir compte de la ligne.
En G1 : = adresse(ligne();colonne()-ligne()-1) te donne aussi $E$1
En H2 : = adresse(ligne();colonne()-ligne()-1) donne $E$2
En I3 : = adresse(ligne();colonne()-ligne()-1) donne $E$3

Ajoutons l'indirect(..) pour le contenu (et non l'adresse) et également
les coefficients :

En G1 : =INDIRECT(ADRESSE(LIGNE();COLONNE()-LIGNE()-1))/4
En H1 : =INDIRECT(ADRESSE(LIGNE();COLONNE()-LIGNE()-1))/2
Puis appliquer le même principe de recopie.

Voilà, voilà.

@+
FxM

Avatar
michdenis
Bonjour FxM,

"Ensuite, elle précise :
<snip> sachant qu'en réalité dans mon tableau la liste de valeurs
ne se trouve pas dans la colonne A mais en E et les calculs ne se font
pas à partir des colonnes E et F mais G et H"


Tu as trouvé ce texte où ? Sûrement pas dans le message initial ? Je n'ai (avais) pas cette précision et cette version
du message.

Quoiqu'il en soit, Michèle semble avoir trouvé ce qu'elle voulait et c'est là l'essentiel !


Salutations!




"FxM" a écrit dans le message de news:
Bonjour Michel :o)

Dans un premier temps, Michèle nous dit :
25% de A1 en E1 et 50% de A1 en F1
25% de A2 en F2 et 50% de A2 en G2
25% de A3 en G3 et 50% de A3 en H3
etc....

Ensuite, elle précise :
<snip> sachant qu'en réalité dans mon tableau la liste de valeurs
ne se trouve pas dans la colonne A mais en E et les calculs ne se font
pas à partir des colonnes E et F mais G et H

On se trouve donc avec le problème suivant :
25% de e1 en f1 et 50% de e1 en g1 -> f1 = e1/4 & g1 = e1/2
25% de e2 en g2 et 50% de e2 en h2 -> g2 = e2/4 & h2 = e2/2
25% de e3 en h3 et 50% de e3 en i3 -> h3 = e3/4 & i3 = e3/2
On constate que la colonne e est toujours présente tandis que les lignes
évoluent.

En F1 : =$e1 / 4
En G1 : =$e1 / 2
Sélection de F1:G1 | edition | copier
Sélection de G2 | ctrl-v (donne =$E2/4 & =$E2/2)
Sélection de H3 | ctrl-v (donne =$E3/4 & =$E3/2)
etc, etc
Ce qui me semble répondre à la question initiale.

Un peu dur les réveils au Canada :o)) ?

@+
FxM



michdenis wrote:
Bonjour FxM,

En relisant la question attentivement, on ne peut pas utiliser la poignée de recopie pour ces formules puisque la
recopie doit être faite avec un décalage d'une cellule vers la droite à chaque ligne ... Ton explication pour la donne
du problème ne tient pas, pas plus que ma solution et celle de AV.


Salutations!



"FxM" a écrit dans le message de news:%
Bonjour Michèle,

Pour les adresses de cellules, laisse un $ devant ce qui ne doit PAS
bouger. D'après ce que tu as écrit, ca devrait donner $A1

colonnes : $A restera toujours $A
lignes : tandis que 1 évoluera

@+
FxM


Avatar
FxM
tss, tss, correction :
En H1 : =INDIRECT(ADRESSE(LIGNE();COLONNE()-LIGNE()-2))/2

@+
FxM


FxM wrote:

Michèle wrote:

rebonjour,

Oui ! Super ! Le nez dans le guidon, je m'obstinais à faire un $A$1 au
lieu
de $A1 !
Moi aussi j'ai lu trop vite les propositions.
En effet, cette solution qui ne permet pas la recopie avec la poignée de
recopie reste une solution tout à fait acceptable avec un Ctrl V en
attendant que j'ai bien compris la proposition d'Isabelle.
Merci et bon WE

Michèle



Bonjour Michèle,

­resse(ligne;colonne) te renvoit l'adresse d'une cellule.
­resse(3;4) te renvoit $D$3
=indirect(adresse(3;4)) renvoit le contenu de D3 (et non plus son adresse).

Oublions pour l'instant les coefficients :
Pour obtenir E1 dans G1, E2 dans H2, E3 dans I3, on constate que la
ligne de destination est la même que la ligne d'origine et que tu
décales de 1 colonne à chaque ligne.

En G1 : = adresse(ligne();colonne()-2) te donne $E$1
mais 2 doit être variable et tenir compte de la ligne.
En G1 : = adresse(ligne();colonne()-ligne()-1) te donne aussi $E$1
En H2 : = adresse(ligne();colonne()-ligne()-1) donne $E$2
En I3 : = adresse(ligne();colonne()-ligne()-1) donne $E$3

Ajoutons l'indirect(..) pour le contenu (et non l'adresse) et également
les coefficients :

En G1 : =INDIRECT(ADRESSE(LIGNE();COLONNE()-LIGNE()-1))/4
En H1 : =INDIRECT(ADRESSE(LIGNE();COLONNE()-LIGNE()-1))/2
Puis appliquer le même principe de recopie.

Voilà, voilà.

@+
FxM



Avatar
FxM
Bjr Denis,

Dans son message ce jour à 12h33 heure de Paris.

@+
FxM


michdenis wrote:

Bonjour FxM,

"Ensuite, elle précise :
<snip> sachant qu'en réalité dans mon tableau la liste de valeurs
ne se trouve pas dans la colonne A mais en E et les calculs ne se font
pas à partir des colonnes E et F mais G et H"


Tu as trouvé ce texte où ? Sûrement pas dans le message initial ? Je n'ai (avais) pas cette précision et cette version
du message.

Quoiqu'il en soit, Michèle semble avoir trouvé ce qu'elle voulait et c'est là l'essentiel !


Salutations!




"FxM" a écrit dans le message de news:
Bonjour Michel :o)

Dans un premier temps, Michèle nous dit :
25% de A1 en E1 et 50% de A1 en F1
25% de A2 en F2 et 50% de A2 en G2
25% de A3 en G3 et 50% de A3 en H3
etc....

Ensuite, elle précise :
<snip> sachant qu'en réalité dans mon tableau la liste de valeurs
ne se trouve pas dans la colonne A mais en E et les calculs ne se font
pas à partir des colonnes E et F mais G et H

On se trouve donc avec le problème suivant :
25% de e1 en f1 et 50% de e1 en g1 -> f1 = e1/4 & g1 = e1/2
25% de e2 en g2 et 50% de e2 en h2 -> g2 = e2/4 & h2 = e2/2
25% de e3 en h3 et 50% de e3 en i3 -> h3 = e3/4 & i3 = e3/2
On constate que la colonne e est toujours présente tandis que les lignes
évoluent.

En F1 : =$e1 / 4
En G1 : =$e1 / 2
Sélection de F1:G1 | edition | copier
Sélection de G2 | ctrl-v (donne =$E2/4 & =$E2/2)
Sélection de H3 | ctrl-v (donne =$E3/4 & =$E3/2)
etc, etc
Ce qui me semble répondre à la question initiale.

Un peu dur les réveils au Canada :o)) ?

@+
FxM



michdenis wrote:

Bonjour FxM,

En relisant la question attentivement, on ne peut pas utiliser la poignée de recopie pour ces formules puisque la
recopie doit être faite avec un décalage d'une cellule vers la droite à chaque ligne ... Ton explication pour la donne
du problème ne tient pas, pas plus que ma solution et celle de AV.


Salutations!



"FxM" a écrit dans le message de news:%
Bonjour Michèle,

Pour les adresses de cellules, laisse un $ devant ce qui ne doit PAS
bouger. D'après ce que tu as écrit, ca devrait donner $A1

colonnes : $A restera toujours $A
lignes : tandis que 1 évoluera

@+
FxM







Avatar
Michèle
Bonjour,

Merci pour cette explication on ne peut plus pédagogique : un régal !
Je vais essayer de l'appliquer dans des présentations un peu différentes
pour m'assurer que j'ai bien compris et que je sais l'adapter en fonction
des références aux lignes et aux colonnes car pour l'instant ça fonctionne
parfaitement si je démarre à la ligne 1, mais pas si je démarre à la ligne
16 par exemple.
Je réfléchis avant d'appeler au secours.
Mais je tenais à te remercier immédiatement ainsi que tous ceux qui sont
venus m'aider car j'ai encore beaucoup appris sur les possibilités d'Excel
Merci et bonne journée

Michèle

­resse(ligne;colonne) te renvoit l'adresse d'une cellule.
­resse(3;4) te renvoit $D$3
=indirect(adresse(3;4)) renvoit le contenu de D3 (et non plus son
adresse).


Oublions pour l'instant les coefficients :
Pour obtenir E1 dans G1, E2 dans H2, E3 dans I3, on constate que la
ligne de destination est la même que la ligne d'origine et que tu
décales de 1 colonne à chaque ligne.

En G1 : = adresse(ligne();colonne()-2) te donne $E$1
mais 2 doit être variable et tenir compte de la ligne.
En G1 : = adresse(ligne();colonne()-ligne()-1) te donne aussi $E$1
En H2 : = adresse(ligne();colonne()-ligne()-1) donne $E$2
En I3 : = adresse(ligne();colonne()-ligne()-1) donne $E$3

Ajoutons l'indirect(..) pour le contenu (et non l'adresse) et également
les coefficients :

En G1 : =INDIRECT(ADRESSE(LIGNE();COLONNE()-LIGNE()-1))/4
En H1 : =INDIRECT(ADRESSE(LIGNE();COLONNE()-LIGNE()-1))/2
Puis appliquer le même principe de recopie.

Voilà, voilà.

@+
FxM


Avatar
isabelle
re bonjour Michèle,

c'est le 1 des formules qui représente la colonne "A" il faut le changer
pour 5, et c'est à copier en colonne G et H,

=(0.25*INDIRECT(ADRESSE(LIGNE();5)))
=(0.5*INDIRECT(ADRESSE(LIGNE();5)))

mais comme AV l'a dit c'est beaucoup plus simple d'inscrire la lettre de
la colonne
en colonne G et H
=$E1*0.25
=$E1*0.5

isabelle


Bonjour,

Merci Isabelle, ta formule marche à la perfection par rapport au problème
que j'ai à résoudre et avec l'exemple fourni, mais ....
malheureusement, il y a quelque chose que je n'ai pas pigé et je n'arrive
pas à l'adapter sachant qu'en réalité dans mon tableau la liste de valeurs
ne se trouve pas dans la colonne A mais en E et les calculs ne se font pas à
partir des colonnes E et F mais G et H : je n'arrive pas à l'adapter
;-((((( Je n'obtiens pour l'instant que des valeurs 0
Merci par avance de m'éclairer.
Bonne journée

Michèle

=(0.25*INDIRECT(ADRESSE(LIGNE();1)))
=(0.5*INDIRECT(ADRESSE(LIGNE();1)))

isabelle



Bonsoir,

Voici mon problème
Soit une liste de valeurs en colonne A
Je veux trouver une formule pour calculer, sans tout recommencer à
chaque


ligne :
25% de A1 en E1 et 50% de A1 en F1
25% de A2 en F2 et 50% de A2 en G2
25% de A3 en G3 et 50% de A3 en H3
etc....
J'ai essayé plein de trucs avec INDIRECT, mais je n'y arrive pas.
Quelqu'un a une idée ?
Merci d'avance
et bonne nuit

Michèle






1 2 3