Entrer dans une formule "feuille précédente"
rhyss
-
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Soient les feuilles 1, 2, 3... d'un classeur.
Dans la feuille 1 (semaine 1) cellule A1 "!" pour signaler un impayé.
Dans la feuille 2 (semaine 2) cellule A1 le "!" est reporté mais si colonne B on met "R" pour signaler que l'impayé est régularisé, le "!" de la colonne A1 s'efface. S'il n'y a pas paiement, le "!" reste, et est reporté feuil 3, le tout à partir de la formule :
=SI(ET(Feuil1!A1="!";Feuil2!B1="R");"";Feuil1!A1)
Dans la feuille 3 (semaine 3) cellule A1 formule ci-dessus, mais qui renvoie non plus à la feuil 1, mais à la feuille 2. Il faudrait donc que je ré-écrive la formule 52 fois, pour toutes les semaines de l'année, en changeant à chaque fois la référence à la page. Au lieu de mettre dans la formule feuil1, ou feuil2... comment introduire la notion de "feuille précédente" pour pouvoir copier automatiquement la formule d'une feuille à l'autre ?
Merci de votre aide.
Soient les feuilles 1, 2, 3... d'un classeur.
Dans la feuille 1 (semaine 1) cellule A1 "!" pour signaler un impayé.
Dans la feuille 2 (semaine 2) cellule A1 le "!" est reporté mais si colonne B on met "R" pour signaler que l'impayé est régularisé, le "!" de la colonne A1 s'efface. S'il n'y a pas paiement, le "!" reste, et est reporté feuil 3, le tout à partir de la formule :
=SI(ET(Feuil1!A1="!";Feuil2!B1="R");"";Feuil1!A1)
Dans la feuille 3 (semaine 3) cellule A1 formule ci-dessus, mais qui renvoie non plus à la feuil 1, mais à la feuille 2. Il faudrait donc que je ré-écrive la formule 52 fois, pour toutes les semaines de l'année, en changeant à chaque fois la référence à la page. Au lieu de mettre dans la formule feuil1, ou feuil2... comment introduire la notion de "feuille précédente" pour pouvoir copier automatiquement la formule d'une feuille à l'autre ?
Merci de votre aide.
3 réponses
-
Bonjour tout le monde,
Et une 3ème proposition en fonction personnalisée à mettre dans un module :Function FeuilleRelative(Référence As Range, offsetFeuille As Long) Dim shIndex As Long Application.Volatile shIndex = Application.Caller.Worksheet.Index FeuilleRelative = Worksheets(shIndex + offsetFeuille).Range(Référence.Address) End Function
Formule à saisir dans les feuilles :
=FeuilleRelative(A1;-1)
-1 : feuille précédente
-2 : 2 feuilles avant
1 : feuille suivante
etc
Accepte les références absolues pour la cellule : $A$1 ou $A1 ou A$1
eric -
Salut le forum
Pour remplacer Feuil1!A1 si tu es sur la Feuil2=INDIRECT(GAUCHE(NomFeuille;5) & DROITE(NomFeuille;NBCAR(NomFeuille)-5)-1&"!A1")
Tu crées pas Insertion > Nom définir
NomFeuille fait référence à=STXT(CELLULE("nomfichier");TROUVE("]";CELLULE("nomfichier"))+1;20)
Ta formule =SI(ET(Feuil1!A1="!";Feuil2!B1="R");"";Feuil1!A1) devient=SI(ET(INDIRECT(GAUCHE(NomFeuille;5) & DROITE(NomFeuille;NBCAR(NomFeuille)-5)-1&"!A1")="!";INDIRECT(NomFeuille&"!B1")="R");"";INDIRECT(GAUCHE(NomFeuille;5) & DROITE(NomFeuille;NBCAR(NomFeuille)-5)-1&"!A1"))
Mytå -
Bonsoir
sur le même principe mais quel que soit le nommage des feuilles :
la formule :=SI(ET(INDIRECT(ma_feuille_precedente&"!A1")="!",INDIRECT(ma_feuille&"!B1")="R"),"",INDIRECT(ma_feuille_precedente&"!A1"))
les 3 noms à définir :ma_feuille =STXT(CELLULE("nomfichier",!$A$1),TROUVE("]",CELLULE("nomfichier",!$A$1))+1,255) ma_feuille_precedente =INDEX(mes_feuilles,EQUIV(ma_feuille,mes_feuilles,0)-1) mes_feuilles =STXT(TRANSPOSE(LIRE.CLASSEUR(1)),TROUVE("]",TRANSPOSE(LIRE.CLASSEUR(1)))+1,255)
Cordialement