Possible formule onglet (+1)

association

XLDnaute Nouveau
Si il existe une solution, tant mieux sinon c'est pas grave...

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

J'espere avoir ete suffisament clair...

A+
Loic
 

Tibo

XLDnaute Barbatruc
Re : Possible formule onglet (+1)

Bonjour,

Si tes onglets portent le nom des mois (avec respect scrupuleux de l'orthographe : accents), tu peux essayer cette formule à partir de l'onglet février :

Code:
=INDIRECT(TEXTE((1&"/"&STXT(CELLULE("nomfichier";A1);TROUVE("]";
CELLULE("nomfichier";A1))+1;32))-1;"mmmm")&"!A5")

Donne le contenu de A5 de l'onglet précédent

Fonctionne sur fichier enregistré.

Si pas ça, reviens en nous donnant plus de détails sur la structure de ton fichier.

@+
 

Tibo

XLDnaute Barbatruc
Re : Possible formule onglet (+1)

re,

en VBA c'est possible, mais je ne sais pas faire.

Etant formuliste, je t'ai proposé une solution formule.

Attends le passage de Vbaïstes émérites qui ne manqueront pas de te proposer une solution VBA

@+
 

job75

XLDnaute Barbatruc
Re : Possible formule onglet (+1)

Bonjour,

Une solution qui utilise les fonctions macros d'Excel 4.0 (je suppose que la 1ère feuille de l'année s'appelle "janvier", mais n'importe quel nom est possible) :

1) Définir le nom N (menu Insertion-Nom-Définir) par la formule :

=LIRE.DOCUMENT(87)-LIRE.DOCUMENT(87;"janvier")

2) Dans toutes les feuilles des mois (à partir de février) entrer en C31 :

=janvier!C31+N

A+


Edit 1 : une précision : LIRE.DOCUMENT(87) renvoie le n° d'ordre de la feuille active, LIRE.DOCUMENT(87;"janvier") celui de la feuille "janvier".

Edit 2 : si l'on intercale une nouvelle feuille, ou si l'on déplace une feuille, les formules ne sont pas recalculées. Pour cela il faut définir N par :

=LIRE.DOCUMENT(87)-LIRE.DOCUMENT(87;"janvier")+INDIRECT("IV1")

Les formules sont recalculées si l'on appuie sur la touche F9. C'est la fonction INDIRECT qui force le recalcul (fonction volatile).
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Possible formule onglet (+1)

Re,

Une autre solution utilisant la fonction macro Excel 4.0 LIRE.CLASSEUR(1) qui renvoie la matrice des noms des feuilles du classeur.

1) Définir le nom Cellule qui renvoie la référence de la cellule C31 de la feuille précédant la feuille active, par la formule :

=INDIRECT(INDEX(LIRE.CLASSEUR(1);LIRE.DOCUMENT(87)-1)&"!C31")

2) Dans n'importe quelle cellule entrer la formule :

=Cellule+1

Bonne fin de soirée et A+
 

association

XLDnaute Nouveau
Re : Possible formule onglet (+1)

Merci à vous....pour ces solutions mais je m'etais entre temps acharné à faire toutes mes modifs à la main...je suis dégouté....enfin un grand merci à vous, j'en aurais quand meme l'utilité avant la fin de mon fichier.
A+
 

tototiti2008

XLDnaute Barbatruc
Re : Possible formule onglet (+1)

Bonjour à tous,

trés en retard une solution VBA :

Code:
Sub OngletPrec()
Dim i As Long
    For i = 2 To ThisWorkbook.Worksheets.Count
        ThisWorkbook.Worksheets(i).Range("A1").FormulaR1C1 = "='" & ThisWorkbook.Worksheets(i - 1).Name & "'!R31C3+1"
    Next i
End Sub
 

Discussions similaires