Une formule qui reprenne le resultat d'une cellule de l'onglet

Résolu/Fermé
excellaurent Messages postés 4 Date d'inscription lundi 8 avril 2013 Statut Membre Dernière intervention 9 avril 2013 - 8 avril 2013 à 02:05
excellaurent Messages postés 4 Date d'inscription lundi 8 avril 2013 Statut Membre Dernière intervention 9 avril 2013 - 9 avril 2013 à 23:10
Bonjour

J'aimerai tout simplement une formule qui reprenne le resultat d'une cellule de l'onglet precedent, et au lieu de retaper plein de fois la formule dans chaque onglet, je me demande si ce n'est pas possible de faire quelque chose du genre:

Au lieu de :
=Fevrier!C31+1 pour le mois de Mars (onglet de Mars)
=Mars!C31+1 pour le mois Avril (onglet d'Avril)
.....

est ce que je pourrais pas avoir une seule formule du genre
(valable pour tous les onglets)
=C31 (onglet precedent) +1

puisque chaque mois il suffit de rajouter 1

A+
A voir également:

7 réponses

Raymond PENTIER Messages postés 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 17 096
8 avril 2013 à 02:17
Avec des formules classiques, non.
Avec une macro en VBA, certainement. Mais est-ce ton souhait ?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
Modifié par Vaucluse le 8/04/2013 à 10:52
Bonjour

sans VBA une solution un peu mitigée:

faites une liste des mois sur une feuille (sans importance)
nommer cette liste par exemple "mois"
cette liste reprend en ordre les noms des feuilles mensuelles créées ou à venir
sur les feuilles mensuelles
en cellule hors champs, par exemple en A1 cette formule:
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)

cette formule replacera le nom d'onglet dans la cellule A1

Votre formule en C31 ensuite:
=SI(ESTERREUR(INDIRECT(INDEX(mois;EQUIV(A1;mois;0)-1)&"!C31"));"non créée";INDIRECT(INDEX(mois;EQUIV(A1;mois;0)-1)&"!C31"))

Qui renverra la valeur de C31 de la feuille précédente dans la liste mois. ou "non créée" si la feuille n'existe pas

crdlmnt

Errare humanum est, perseverare diabolicum
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
Modifié par ccm81 le 8/04/2013 à 11:44
Bonjour

Via une petite macro due à Eric (Alt-F11 puis/insertion Module et copier coller le tout)

Public Function FPrec() As String 
  FPrec = Worksheets(Application.Caller.Worksheet.Index - 1).Name 
End Function

Puis dans la feuille
=INDIRECT(Fprec() & "!C31")

Salutations à Raymond et à Vaucluse

Bonne journée
0
excellaurent Messages postés 4 Date d'inscription lundi 8 avril 2013 Statut Membre Dernière intervention 9 avril 2013
8 avril 2013 à 23:21
Bonsoir,

Merci à tous pour l'ensemble de vos conseils. J'ai une parti de mon problème résolu avec version sans vba
Reste un point .

Voilà
Tout les mois je dois modifier les formules ci-dessous à chaque nouveau mois
=(FEVRIER!B70)+B8 pour Mars
=(MARS!B70)+B8 pour Avril

Dans le même esprit peut être une solution.

Cordialement
Laurent
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
9 avril 2013 à 07:20
Bonjour
la même en ajustant avec B70 et en ajoutant B8
=SI(ESTERREUR(INDIRECT(INDEX(mois;EQUIV(A1;mois;0)-1)&"!B70"));"non créée";INDIRECT(INDEX(mois;EQUIV(A1;mois;0)-1)&"!B70"))+B8
crdlmnt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
8 avril 2013 à 23:44
Bonjour,

est ce que je pourrais pas avoir une seule formule du genre=C31 (onglet precedent)

Si en A1 par exemple, tu as une date du mois en cours tu peux récupérer la valeur de la cellule C31 du mois précédent avec cette formule :

=INDIRECT(TEXTE(MOIS.DECALER(A1;-1);"mmmm")&"!C31")

Bien sûr, tu peux trouver ta date A1 d'exemple sur n'importe quelle cellule de ton onglet. Si tu n'as pas de date, tu peux le faire avec le nom de l'onglet mais c'est un peu plus long :

=INDIRECT(TEXTE(MOIS.DECALER(DATEVAL("1/"&STXT(CELLULE("nomfichier";A1);TROUVE("]";CELLULE("nomfichier";A1))+1;9)&"/2013");-1);"mmmm")&"!C31")
0
excellaurent Messages postés 4 Date d'inscription lundi 8 avril 2013 Statut Membre Dernière intervention 9 avril 2013
9 avril 2013 à 00:16
Bonsoir,

excuse moi , la , je suis perdu dans tes explications!

MERCI
0
excellaurent Messages postés 4 Date d'inscription lundi 8 avril 2013 Statut Membre Dernière intervention 9 avril 2013
9 avril 2013 à 23:10
Bonsoir Vaucluse,

apres le dernier message , la derniere formule =SI(ESTERREUR(INDIRECT(INDEX(mois;EQUIV(A1;mois;0)-1)&"!B70"));"non créée";INDIRECT(INDEX(mois;EQUIV(A1;mois;0)-1)&"!B70"))+B8 indique Valeur!

serait il possible de vous envoyez le fichier?

merci
cordialement
0