Etirer une formule
Résolu
nemotri
Messages postés
179
Statut
Membre
-
nemotri Messages postés 179 Statut Membre -
nemotri Messages postés 179 Statut Membre -
Bonjour,
Voilà j'ai rentré cette formule dans la cellule A1 : ='S1'!U10
Et j'aimerai étirer cette formule dans les cellules en-dessous A1 pour qu'elle devienne A2 : ='S2'!U10, en A3 : ='S3'!U10...
Actuellement lorsque j'étire ma formule elle se transforme en A2 : ='S1'!U11, en A3 : ='S1'!U12...
Je crois que l'utilisation de signes comme "$" peut figer des données mais je ne trouve pas la solution.
Merci d'avance de votre aide.
Voilà j'ai rentré cette formule dans la cellule A1 : ='S1'!U10
Et j'aimerai étirer cette formule dans les cellules en-dessous A1 pour qu'elle devienne A2 : ='S2'!U10, en A3 : ='S3'!U10...
Actuellement lorsque j'étire ma formule elle se transforme en A2 : ='S1'!U11, en A3 : ='S1'!U12...
Je crois que l'utilisation de signes comme "$" peut figer des données mais je ne trouve pas la solution.
Merci d'avance de votre aide.
Configuration: Windows XP Internet Explorer 6.0
11 réponses
-
Salut.
Essaye de mettre ='S1'!U10 dans la 1ere case ='S2'!U10.
Tu sélectionnes ces 2 cases et tu les étires.
Normalement l'ordi comprendra que tu coptes de 1 en 1 -
Re,
Excel ne permet pas de modifier l'adresse feuille dans une cellule lors d'une incrémentation. il n'y à aucun problème avec les cellules mais l'adresse classeur ou feuille est figé et doit etre modifié manuellement
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein) -
xefiry,
l'ordinateur ne comprend pas non plus quand je fais cette manip. -
Bonsoir,
sur le même principe que sur ce post auquel tu n'as pas daigné répondre tu as :
=INDIRECT("'S"&LIGNE()&"'!U10")
eric-
Bonsoir eriiic,
Je suis nouveau sur ce forum et je ne veux pas qu'il y ait de mal entendu.
Sur le post dont tu me parles j'ai échangé principalement avec "m@rina" qui m'a proposé une solution simple compte tenu de mon niveau débutant. Je l'ai d'ailleurs remercié de son aide et je pense avoir été courtois et poli dans tous les messages et sujets que j'ai posté depuis mon inscription.
Maintenant je m'excuse de ne pas t'avoir répondu sur le post en question mais étant débutant je comprenais moins facilement ton explication que celle de m@rina.
Désolé de t'avoir froissé. A l'avenir j'essayerai de répondre à tout le monde.
nemotri.
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Re,
C'est pas bien du tout de ne pas répondre aux posts, derrière chaque réponse il y a un intervenant bénévole qui donne de son temps sans compter, la reconnaissance est devenu denrée rare
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein) -
Voilà eriiic,
J'ai esayé de comprendre ces 2 formules que tu m'as proposé dans deux postsdifférents :
=INDIRECT("'S"&LIGNE()&"'!U10")
et
=INDIRECT("'S"&STXT(CELLULE("filename";A1);CHERCHE("]";CELLULE("filename";A1))+2;50)-1&"'!B2")+6
J'ai réussi à comprendre le fonctionnenement d'une formule STXT donc de "STXT(CELLULE("filename";A1);CHERCHE("]";CELLULE("filename";A1))+2;50)" mais je ne comprends rien au fonctionnement et au but d'une formule INDIRECT(réf_texte;a1), d'une formule LIGNE(référence) et à l'utilisation de "&" dans une formule.
Pourrais-tu m'aider et m'expliquer chaque formule un peu clairement que l'aide proposé par excel. Que veulent dire "réf_texte" et "a1" dans la formule INDIRECT et "référence" dans le formule LIGNE ?
Merci de ton aide. -
Re,
pour ce qui est de la 2nde formule ce n'est plus d'actualité mais le principe sera le même.
Le point de départ de ta question est :
j'aimerai étirer cette formule dans les cellules en-dessous A1 pour qu'elle devienne A2 : ='S2'!U10, en A3 : ='S3'!U10. elle se transforme en A2 : ='S1'!U11...
Indirect() te permet de fournir une référence en texte pour en récupérer le contenu. Pour forcer le format texte tu l'écris entre " "
Si tu remplaces ='S2'!U10 par =indirect("'S2'!U10") tu obtiens la même chose : le contenu de 'S2'!U10.
Seulement comme c'est fourni en texte, tu auras beau la recopier vers le haut, vers la droite etc le texte ne changera jamais et tu feras toujours référence à 'S2'!U10.
Ton pb est maintenant de faire varier le 2 de 'S2'!U10 selon la ligne où est ta formule pour avoir S2..., S3.., S4...
Il va falloir fabriquer la chaine. Le & sert à concatener 2 chaines. "Bon" & "jour" => "Bonjour".
ligne() te retourne le n° de ligne où est ta formule.
en ligne 2: "'S"&LIGNE()&"'!U10" => "'S" & 2 & "'!U10" => "'S2'!U10"
en ligne 3: "'S"&LIGNE()&"'!U10" => "'S" & 3 & "'!U10" => "'S3'!U10"
Ce sont bien les références qui t'interessent, il n'y a plus qu'à les passer en parametre à indirect pour avoir le contenu de ces cellules.
Donc en B2: =INDIRECT("'S"&LIGNE()&"'!U10")
à recopier vers le bas pour avoir le contenu de S2'!U10, S3'!U10, S4'!U10...
eric-
Ok merci beaucoup ériiic pour cette explication claire.
Alos si j'ai bien compris, tu te sert du numéro de la ligne où est inscrite la formule combiné à "'S" pour obtenir la référence de page qui m'intéresse.
Ainsi si je note ma formule dans ma ligne 3 je vais obtenir la référence "'S3". J'espère avoir bon jusqu'ici.
Maintenant si je veux obtenir la référence de la feuille S2 depuis la ligne 7 par exemple, est-ce que je peux mettre cette formule : =INDIRECT("'S"&LIGNE()-5"'U10!") ?
Et au passge, à quoi servent les apostrophes ' et les points d'exclamation dans les formules.
Merci de ton aide en tout cas.
J'espère avoir bien compris.
-
-
Maintenant si je veux obtenir la référence de la feuille S2 depuis la ligne 7 par exemple, est-ce que je peux mettre cette formule : =INDIRECT("'S"&LIGNE()-5"'U10!") ?
tu as tout compris
les ' ' : c'est pour encadrer le nom de la feuille au cas où il y ait des espaces.
les " " c'est pour dire que c'est une chaine de caractère.
"92" c'est le caractère 9 suivi du caractère 2 et non pas le nombre 92 (excel le convertira en nombre si besoin mais c'est une autre histoire),
"'S2'!U10" est du texte, 'S2'!U10 est une référence
eric -
Bon me revoilà eriiic,
malgré que j'ai tout compris, cela ne fonctionne pas.
Volià dans ma cellule B9 je souhaiteria donc écrire ceci : 'S36'!U11 mais de façon indirecte pour pouvoir l'étirer donc.
J'ai tapé cette forule donc en B9 : =INDIRECT("'S"&LIGNE()+27"'!U11")
Seulement quand je fais "entréé" j'ai un message d'erreur qui apparaît me disant qu'il y une erreur dans ma fonction.
Qu'est ce qui ne colle pas ?
Faut-il mettre des espaces à certains endroits dans la formule ?
Merci d'avance.
Nemotri. -
Bonsoir,
manque le & ...
=INDIRECT("'S"&LIGNE()+27 & "'!U11")
eric -
Salut,
effectivement il faut utiliser le signe dallar $
le $ à gauche de l'indicatif colonne $U10, fixe la colonne le $ à droite U$10 fixe la ligne et à droite et à gauche fixe la ligne et la colonne
Si tu souhaites que U10 reste U10 lors d'une incrémentation vers le bas tu dois écrire ta formule
='S1'!U$10
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)