OVH Cloud OVH Cloud

Traduction de formule

14 réponses
Avatar
Billylaroche
Bonjour,

J'aurais besoin de votre aide pour comprendre une formule. Que signifie la
dernière partie LIGNE()-4)*10 ?

La formule complète est la suivante
EQUIV($B$1;DECALER('2009'!$G$60:$G$66;;EQUIV($B$1;'2009'!$H$2:$BG$2;1));0)+(LIGNE()-4)*10

Peut-être qu'en comprenant la formule, je pourrai solutionner mon fichier.
J'ai des problèmes présentement.

Merci!

--
Billy

4 réponses

1 2
Avatar
Billylaroche
Bonjour,

Merci beaucoup, je viens d'appliquer votre procédure pour créer le lien et
mettre mon classeur à disposition.

Je crois que ce sera plus facile d'expliquer ma problématique en partageant
mon fichier.

Billy


"Misange" wrote:

Bonjour
pour mettre ton classeur à disposition, utilise le site cijoint.fr
Tu sélectionnes ton classeur, tu récupères l'adresse que te donne
cijoint et tu la postes ici.

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Billylaroche a écrit :
> Bonsoir,
>
> Merci beaucoup pour l'explication.
>
> Cependant, si LIGNE() renvoie la ligne de la cellule qui contient la
> formule, comment pouvons-nous lui dire précisément quelle est cette ligne?
>
> Car mon fichier est un calendrier. Et la formule est entre la ligne 5 et la
> ligne 11 pour l'employé 1, la ligne 16 à ligne 22 pour l'employé 2 et ainsi
> de suite.
>
> J'aimerais beaucoup vous montrer mon fichier. Je suis persuadée que ce n'est
> pas grand chose mon problème car pour les 6 premiers employés votre formule
> fonctionne tellement bien.
>
> Merci beaucoup,
>
> Cordialement,
>



Avatar
Daniel.C
Euh, non, là, c'est ton adressse que tu as mise ;-)
Daniel

Bonjour,

Dans un premier temps, merci pour les explications si bien décrites.

J'ai apporté la correction, mais je crains que ce ne soit pas tout à fait au
point encore. Car j'ai fait une simulation pour le mois de mars par exemple,
et ca ne fonctionne pas. Je vous joins mon fichier.

http://cjoint.com/?ccr2hafTWC

J'apprécie énorment votre aide !


--
Billy


"Daniel.C" wrote:

Bonjour.
Le problème vient de la plage :
'2009'!$G$5:$G$11
que j'ai due employer pour mettre la formule au point. J'ai donc changé
la plage en '2009'!$G$5:$G$1000:
=SI(NBCOLOR(DECALER(DECALER('2009'!$G$4;;EQUIV($B$1;'2009'!$H$2:$BG$2;1));EQUIV($B$1;DECALER('2009'!$G$5:$G$1000;;EQUIV($B$1;'2009'!$H$2:$BG$2;1));0)+(LIGNE()-4)*10;0);'2009'!$G$2)>0;"ABSENT";"PRÉSENT")
Quant au problème que tu te poses sur la fonction LIGNE(), et plus
exactement (Ligne()-4)*10, elle me permet de ne pas avoir une cellule
différente dans chaque formule; j'ai besoin de 0 pour le premier
employé, 10 pour le second, 3 pour le troisième etc. Le but est
d'atteindre la plage de la feuille 2009 correspondant à chaque employé,
le premier se trouvant en ligne 4, le second en ligne 14...
Pour information, voici l'adresse du classeur modifié :
http://www.cijoint.fr/cjlink.php?file=cj200901/cijFnT0pAm.xls
Cordalement.
Daniel

Bonsoir,

Merci beaucoup pour l'explication.

Cependant, si LIGNE() renvoie la ligne de la cellule qui contient la
formule, comment pouvons-nous lui dire précisément quelle est cette ligne?

Car mon fichier est un calendrier. Et la formule est entre la ligne 5 et la
ligne 11 pour l'employé 1, la ligne 16 à ligne 22 pour l'employé 2 et ainsi
de suite.

J'aimerais beaucoup vous montrer mon fichier. Je suis persuadée que ce
n'est pas grand chose mon problème car pour les 6 premiers employés votre
formule fonctionne tellement bien.

Merci beaucoup,

Cordialement,

--
Billy


"Daniel.C" wrote:

Bonsoir.
En décomposant :
DECALER('2009'!$G$60:$G$66;;EQUIV($B$1;'2009'!$H$2:$BG$2;1)) :
équivaut à '2009'!$G$60:$G$66 décalé d'un nombre de colonnes à la
valeur donnée par :
EQUIV($B$1;'2009'!$H$2:$BG$2;1)
La plage obtenue équivaut à la plage utilisée pour le premier EQUIV.
LIGNE() renvoie la ligne de la cellule qui contient la formule. Si la
formule est en ligne 5,
(LIGNE()-4)*10
= 10.
Cordialement.
Daniel

Bonjour,

J'aurais besoin de votre aide pour comprendre une formule. Que signifie
la dernière partie LIGNE()-4)*10 ?

La formule complète est la suivante :
EQUIV($B$1;DECALER('2009'!$G$60:$G$66;;EQUIV($B$1;'2009'!$H$2:$BG$2;1));0)+(LIGNE()-4)*10

Peut-être qu'en comprenant la formule, je pourrai solutionner mon
fichier. J'ai des problèmes présentement.

Merci!
















Avatar
Billylaroche
Bonjour,

Il est possible d'accèder au fichier intitulé TEST.xls à partir de cette
adresse.

http://www.cijoint.fr/cjlink.php?file=cj200901/cij8H5mHjv.xls

J'espère que ca fonctionnera.

Merci beaucoup de votre aide!
--
Billy


"Daniel.C" wrote:

Euh, non, là, c'est ton adressse que tu as mise ;-)
Daniel

> Bonjour,
>
> Dans un premier temps, merci pour les explications si bien décrites.
>
> J'ai apporté la correction, mais je crains que ce ne soit pas tout à fait au
> point encore. Car j'ai fait une simulation pour le mois de mars par exemple,
> et ca ne fonctionne pas. Je vous joins mon fichier.
>
> http://cjoint.com/?ccr2hafTWC
>
> J'apprécie énorment votre aide !
>
>
> --
> Billy
>
>
> "Daniel.C" wrote:
>
>> Bonjour.
>> Le problème vient de la plage :
>> '2009'!$G$5:$G$11
>> que j'ai due employer pour mettre la formule au point. J'ai donc changé
>> la plage en '2009'!$G$5:$G$1000:
>> =SI(NBCOLOR(DECALER(DECALER('2009'!$G$4;;EQUIV($B$1;'2009'!$H$2:$BG$2;1));EQUIV($B$1;DECALER('2009'!$G$5:$G$1000;;EQUIV($B$1;'2009'!$H$2:$BG$2;1));0)+(LIGNE()-4)*10;0);'2009'!$G$2)>0;"ABSENT";"PRÉSENT")
>> Quant au problème que tu te poses sur la fonction LIGNE(), et plus
>> exactement (Ligne()-4)*10, elle me permet de ne pas avoir une cellule
>> différente dans chaque formule; j'ai besoin de 0 pour le premier
>> employé, 10 pour le second, 3 pour le troisième etc. Le but est
>> d'atteindre la plage de la feuille 2009 correspondant à chaque employé,
>> le premier se trouvant en ligne 4, le second en ligne 14...
>> Pour information, voici l'adresse du classeur modifié :
>> http://www.cijoint.fr/cjlink.php?file=cj200901/cijFnT0pAm.xls
>> Cordalement.
>> Daniel
>>
>>> Bonsoir,
>>>
>>> Merci beaucoup pour l'explication.
>>>
>>> Cependant, si LIGNE() renvoie la ligne de la cellule qui contient la
>>> formule, comment pouvons-nous lui dire précisément quelle est cette ligne?
>>>
>>> Car mon fichier est un calendrier. Et la formule est entre la ligne 5 et la
>>> ligne 11 pour l'employé 1, la ligne 16 à ligne 22 pour l'employé 2 et ainsi
>>> de suite.
>>>
>>> J'aimerais beaucoup vous montrer mon fichier. Je suis persuadée que ce
>>> n'est pas grand chose mon problème car pour les 6 premiers employés votre
>>> formule fonctionne tellement bien.
>>>
>>> Merci beaucoup,
>>>
>>> Cordialement,
>>>
>>> --
>>> Billy
>>>
>>>
>>> "Daniel.C" wrote:
>>>
>>>> Bonsoir.
>>>> En décomposant :
>>>> DECALER('2009'!$G$60:$G$66;;EQUIV($B$1;'2009'!$H$2:$BG$2;1)) :
>>>> équivaut à '2009'!$G$60:$G$66 décalé d'un nombre de colonnes à la
>>>> valeur donnée par :
>>>> EQUIV($B$1;'2009'!$H$2:$BG$2;1)
>>>> La plage obtenue équivaut à la plage utilisée pour le premier EQUIV.
>>>> LIGNE() renvoie la ligne de la cellule qui contient la formule. Si la
>>>> formule est en ligne 5,
>>>> (LIGNE()-4)*10
>>>> = 10.
>>>> Cordialement.
>>>> Daniel
>>>>
>>>>> Bonjour,
>>>>>
>>>>> J'aurais besoin de votre aide pour comprendre une formule. Que signifie
>>>>> la dernière partie LIGNE()-4)*10 ?
>>>>>
>>>>> La formule complète est la suivante :
>>>>> EQUIV($B$1;DECALER('2009'!$G$60:$G$66;;EQUIV($B$1;'2009'!$H$2:$BG$2;1));0)+(LIGNE()-4)*10
>>>>>
>>>>> Peut-être qu'en comprenant la formule, je pourrai solutionner mon
>>>>> fichier. J'ai des problèmes présentement.
>>>>>
>>>>> Merci!
>>>>
>>>>
>>>>
>>
>>
>>





Avatar
Billylaroche
Bonsoir!

Yahou! J'ai enfin trouvé mon erreur!!

Dans votre fichier la formule fonctionnait, mais pas dans le mien à la
maison. En relisant bien vos explications et en comparant votre classeur en
exemple et le mien à la maison, j'ai fini par comprendre. J'avais fait
l'ajout de ligne à mon fichier initial. Donc il est normal que la formule ne
fonctionnait plus dans ce nouveau fichier modifié. Avec vos explications,
j'ai donc pu corriger la partie +(Ligne() de la façon suivante :

=SI(NBCOLOR(DECALER(DECALER('2009'!$G$4;;EQUIV($B$1;'2009'!$H$2:$BG$2;1));EQUIV($B$1;DECALER('2009'!$G$5:$G$1000;;EQUIV($B$1;'2009'!$H$2:$BG$2;1));0)+(LIGNE()-4)*11;0);'2009'!$E$2)>0;"ABSENT";"PRÉSENT")

Ca fonctionne parfaitement maintenant!!!!

Merci de m'avoir si bien expliqué. C'est agréable de pouvoir compter sur des
gens compétents comme vous.

Salutations,
--
Billy


"Daniel.C" wrote:

Lire :
elle me permet de ne pas avoir une formule différente dans chaque
cellule
au lieu de :
elle me permet de ne pas avoir une cellule différente dans chaque
formule

Daniel

> Bonjour.
> Le problème vient de la plage :
> '2009'!$G$5:$G$11
> que j'ai due employer pour mettre la formule au point. J'ai donc changé la
> plage en '2009'!$G$5:$G$1000:
> =SI(NBCOLOR(DECALER(DECALER('2009'!$G$4;;EQUIV($B$1;'2009'!$H$2:$BG$2;1));EQUIV($B$1;DECALER('2009'!$G$5:$G$1000;;EQUIV($B$1;'2009'!$H$2:$BG$2;1));0)+(LIGNE()-4)*10;0);'2009'!$G$2)>0;"ABSENT";"PRÉSENT")
> Quant au problème que tu te poses sur la fonction LIGNE(), et plus exactement
> (Ligne()-4)*10, elle me permet de ne pas avoir une cellule différente dans
> chaque formule; j'ai besoin de 0 pour le premier employé, 10 pour le second,
> 3 pour le troisième etc. Le but est d'atteindre la plage de la feuille 2009
> correspondant à chaque employé, le premier se trouvant en ligne 4, le second
> en ligne 14...
> Pour information, voici l'adresse du classeur modifié :
> http://www.cijoint.fr/cjlink.php?file=cj200901/cijFnT0pAm.xls
> Cordalement.
> Daniel
>
>> Bonsoir,
>>
>> Merci beaucoup pour l'explication.
>> Cependant, si LIGNE() renvoie la ligne de la cellule qui contient la
>> formule, comment pouvons-nous lui dire précisément quelle est cette ligne?
>>
>> Car mon fichier est un calendrier. Et la formule est entre la ligne 5 et la
>> ligne 11 pour l'employé 1, la ligne 16 à ligne 22 pour l'employé 2 et ainsi
>> de suite.
>>
>> J'aimerais beaucoup vous montrer mon fichier. Je suis persuadée que ce
>> n'est pas grand chose mon problème car pour les 6 premiers employés votre
>> formule fonctionne tellement bien.
>>
>> Merci beaucoup,
>>
>> Cordialement,
>>
>> -- Billy
>>
>>
>> "Daniel.C" wrote:
>>
>>> Bonsoir.
>>> En décomposant :
>>> DECALER('2009'!$G$60:$G$66;;EQUIV($B$1;'2009'!$H$2:$BG$2;1)) :
>>> équivaut à '2009'!$G$60:$G$66 décalé d'un nombre de colonnes à la valeur
>>> donnée par :
>>> EQUIV($B$1;'2009'!$H$2:$BG$2;1)
>>> La plage obtenue équivaut à la plage utilisée pour le premier EQUIV.
>>> LIGNE() renvoie la ligne de la cellule qui contient la formule. Si la
>>> formule est en ligne 5,
>>> (LIGNE()-4)*10
>>> = 10.
>>> Cordialement.
>>> Daniel
>>>
>>>> Bonjour,
>>>>
>>>> J'aurais besoin de votre aide pour comprendre une formule. Que signifie
>>>> la dernière partie LIGNE()-4)*10 ?
>>>>
>>>> La formule complète est la suivante :
>>>> EQUIV($B$1;DECALER('2009'!$G$60:$G$66;;EQUIV($B$1;'2009'!$H$2:$BG$2;1));0)+(LIGNE()-4)*10
>>>>
>>>> Peut-être qu'en comprenant la formule, je pourrai solutionner mon
>>>> fichier. J'ai des problèmes présentement.
>>>>
>>>> Merci!
>>>
>>>





1 2