Remplacer chiffres dans une fonction

Fermé
cfl0fl0 Messages postés 9 Date d'inscription samedi 10 septembre 2016 Statut Membre Dernière intervention 15 septembre 2019 - 19 oct. 2016 à 13:20
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 19 oct. 2016 à 20:45
Bonjour,

voici ma formule dans ma feuille S1 en case A1

=SOMME(INDIRECT(C2&"!L10:!L12");INDIRECT(C2&"!AI10:!AI12");INDIRECT(C2&"!BF10:!BF12");INDIRECT(C2&"!CC10:!CC12");INDIRECT(C2&"!CZ10:!CZ12");INDIRECT(C2&"!DW10:!DW12");INDIRECT(C2&"!ET10:!ET12"))

Dans ma feuille S2 je veux changer le nombre 10 par 13 et le nombre 12 par 15
Dans ma feuille S3 je veux changer le nombre 13 par 16 et le nombre 15 par 18
Etc....

Existe-t-il une formule pour changer la fonction automatiquement ?
A voir également:

4 réponses

Utilisateur anonyme
19 oct. 2016 à 17:29
Bonjour cfl0fl0,

Peut-être en utilisant, en plus de la fonction INDIRECT(),
la fonction DECALER() ; et avec un paramétrage judicieux !

Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».

Cordialement.  😊
0
cfl0fl0 Messages postés 9 Date d'inscription samedi 10 septembre 2016 Statut Membre Dernière intervention 15 septembre 2019
19 oct. 2016 à 18:33
Merci pour cette réponse, ais je ne trouve pas comment inscrire cette formule correctement.
0
Utilisateur anonyme
19 oct. 2016 à 19:40
 
Remarques bien que sur ta 1ère feuille S1, tu as au départ 10 et 12.

Par rapport à 10 et 12 de S1 :

    Sur ta feuille S2, tu veux à la place 13 et 15, soit :   +3 lignes.
    Sur ta feuille S3, tu veux à la place 16 et 18, soit :   +6 lignes.

    Sur ta feuille S4, tu veux à la place 19 et 21, soit :   +9 lignes.
    Sur ta feuille S5, tu veux à la place 22 et 24, soit : +12 lignes.

etc...

Pour S4 et S5, ce sont des extrapolations (selon ton énoncé).

Mets dans une cellule de ton choix le n° de feuille ; exemple :
en B2 : 1 pour S1 ; 2 pour S2 ; 3 pour S3 ; 4 pour S4 ; etc...

Pour n lignes plus bas, tu peux utiliser : =DECALER(référence;(B2-1)*3;0)

Ou si tu préfères (c'est mieux si tu ne te trompes pas en numérotant) :

Mets dans une cellule de ton choix le n° de feuille - 1 ; exemple :
en B2 : 0 pour S1 ; 1 pour S2 ; 2 pour S3 ; 3 pour S4 ; etc...

Pour n lignes plus bas, tu peux utiliser : =DECALER(référence;B2*3;0)

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

D'autre part, dans ta formule, tu as fait la même erreur que pour celle de ton sujet
« Remplacer nom de feuille dans formule » : pas de « ! » après « : » =>

=SOMME(INDIRECT(C2&"!L10:!L12");INDIRECT(C2&"!AI10:!AI12");INDIRECT(C2&"!BF10:!BF12");INDIRECT(C2&"!CC10:!CC12");INDIRECT(C2&"!CZ10:!CZ12");INDIRECT(C2&"!DW10:!DW12");INDIRECT(C2&"!ET10:!ET12"))

doit devenir :

=SOMME(INDIRECT(C2&"!L10:L12");INDIRECT(C2&"!AI10:AI12");INDIRECT(C2&"!BF10:BF12");INDIRECT(C2&"!CC10:CC12");INDIRECT(C2&"!CZ10:CZ12");INDIRECT(C2&"!DW10:DW12");INDIRECT(C2&"!ET10:ET12"))

Tu dois voir le « ! » comme un caractère qui termine un nom de feuille et donc
le définit comme un nom de feuille ; ainsi : S1! est bien la feuille « S1 » alors
que S1 est la cellule S1. Donc S1!S5 est la cellule S5 de la feuille S1 ; et :
S1!S5:S18 est la plage de la colonne S, lignes 5 à 18, de la feuille S1. Vu ?  😉
 
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
Modifié par Vaucluse le 19/10/2016 à 19:50
Bonjour

Comme vous ne changez que les N° le plus simple semble être de composer vos codes indirects comme suit:
  • répérer deux cellules vides hors champ, ,exemple XY1 et XY2
  • composer tous vos codes indirect dans la formule comme suit:


.....INDIRECT(C2&"!L"&XY1&":L"&XY2).....
  • vous n'aurez plus qu'à placer les N° de lignes voulus dans les cellules XX1 et XX2


crdlmnt







La qualité de la réponse dépend surtout de la clarté de la question, merci!
0
Merci pour vos réponses mais je ne comprends rien
Je laisse tomber et vais tout taper cellule par cellule avec mes petits doigts.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
19 oct. 2016 à 20:45
C'e"st vous qui voyez, mais je précise q car ce n'est quand même pas compliqué
quand vous écrivez dans la formule:

INDIRECT(C2&"!L"&XY1&":L"&XY2)

et que vous placez 10 en cellule XY1 et 12 en XY2, cette écriture équivaut à :

INDIRECT(C2&"!L10:L12")

et donc les adresses s'adaptent aux valeurs que vous avez placées en XY1 et XY2, différentes pour chaque feuille
0