Automatiser formule feuille précédente

Bonjour,

Mon fichier est fait d'une feuille de données et de 40 autres feuilles comportant le même tableau.

Dans le tableau en cellule (I2) de toutes les feuilles j'ai entré la fonction FIN.MOIS(G2;0)

En G2 de la feuille 2 j'entre une date. Puis en feuille 3, 4, et suivantes, je voudrais appliquer en G2 la formule =Feuille précédente! I2+1 pour avoir en G2 des feuilles 3,4, et suivantes le 1er jour du mois suivant automatiquement. Ca m'éviterait de copier la formule sur les 40 feuilles.

Comment peut-on automatiser cette manip ?

Quelqu'un pourrait-il m'aider ?

Fichier exemple joint

Par avance merci !

cordialement.

Bonjour,

Pas certain que tout le monde pourra décompresser ton fichier ... dépose plutôt une version "allégée" au format Excel que tu utilises (2003 ou 2007 ?)

Avec quelques feuilles (même presque vierges, du moment qu'on sait comment elles sont nommées et que le contenu actuel de I2 et G2 y figurent) on devrait y arriver (... si c'est possible )

Bonjour U.Milité,

J'ai enlevé quelques feuilles...

Re-bonjour,

Pas sûr que tu te sois simplifié la vie avec tes "FÉV(2020)" et autres

Essaie de:

Attention de ne pas faire de fautes dans la liste en colonne F de la feuille Données (accents manquants, mauvaise abréviation du nom du mois, caractère autre que des parenthèses, etc)

Pas sûr que tu te sois simplifié la vie avec tes "FÉV(2020)" et autres

Je sais, mais c'est tout ce que j'ai trouvé pour que mes noms d'onglet aient un format qui se présente comme le format date "mmm-aaaa" en étant copié depuis la cellule E4. Pour l'instant ça fonctionne !

Un grand Merci à toi ! la formule correspond exactement à ce que je cherchais

Bien cordialement.

Re,

Sans utiliser la colonne F de "Données", puisque chaque feuille est nommée, tu pouvais aussi écrire en E4 de toutes les feuilles:

=DROITE(CELLULE("nomfichier");NBCAR(CELLULE("nomfichier"))-TROUVE("]";CELLULE("nomfichier")))

... tu récupères alors en E4, le nom de la feuille dans laquelle ta formule est insérée


[Edit:] Ah oui, mais non ! je viens de voir que tu nommais chaque feuille en fonction du contenu de E4, via une macro !

Sans utiliser la colonne F de "Données", puisque chaque feuille est nommée, tu pouvais aussi écrire en E4 de toutes les feuilles:

Eh non, c'est ma cellule E4 qui donne son nom à la feuille par macro.

Mais c'est très sympa d'y avoir réfléchi parce que ma petite liste est fastidieuse et je devrai forcément la faire évoluer avec les mois qui passent... Mais ça reste jouable.

Encore Merci pour ton aide

ma petite liste est fastidieuse et je devrai forcément la faire évoluer avec les mois qui passent

Pas sûr que ça convienne, mais dans un nouveau classeur, insère 10 feuilles et teste:
Sub Nom_Onglet()
    For f = 2 To Sheets.Count
        Sheets(f).[G2] = DateSerial(2020, f, 1)
        Sheets(f).Name = UCase(Format(Sheets(f).[G2], "MMM(yyyy)"))
    Next f

End Sub

... ça devrait insérer les dates en G2 et nommer les feuilles en même temps (restent tes formats à peaufiner et la date en E4, mais en adaptant, ça devrait être moins fastidieux)

Bonjour U.Milité,

Ta macro nom d'onglet est très tentante. Elle me permettrait effectivement de gagner du temps, mais j'ai fait plusieurs essais et je ne comprends pas pourquoi lorsque j'active la macro le premier onglet (après la feuille de données) m'affiche systématiquement le mois de février 2020. Je ne vois pas non-plus comment la transformer pour que je puisse choisir quel doit être le premier mois (et année).

Encore une petite idée ???

Bien cordialement

Salut,

Tu voudras bien noter que nous manquons un peu d'informations concernant le "contexte"

  • ton fichier est créé pour 40 mois ... ce sera toujours 40 ?
  • tu le crées une seule fois, puis il "vit sa vie" jusqu'à la fin du 40e mois ?
  • tu démarres toujours depuis un classeur vierge (en dehors de la feuille "Données") ... ou tu risques de créer des feuilles qui existeraient déjà ?
  • si le même onglet doit être copié 40 fois, plutôt que de dupliquer cet onglet, puis d'exécuter ta macro pour renommer les feuilles, ne serait-il pas intéressant de tout faire en une fois ? Au départ d'un onglet "modèle", on le duplique, on nomme chaque nouvelle feuille, on inscrit les dates en G2, E4, etc.

Faute d'infos plus détaillées, on ne saurait proposer quelque chose qui corresponde à ... ce qu'on ignore

J'ai présenté un fichier de 40 feuille et c'est un très mauvais exemple :

Pour ce fichier précis, j'ai retiré 8 feuilles au classeur, mais à la base il est composé de 48 feuilles.

J'ai procédé ainsi :

Le classeur a été créé avec la feuille "données" (feuil1 à l'origine) + la feuil2 sur laquelle j'ai entré mon tableau et organisé les cellules qui vont chercher les infos dans la feuille de données (certaines données sont amenées à être modifiées sans en connaître les détails ni le moment à la création du fichier).

Puis j'ai utilisé une macro que j'ai depuis longtemps et qui m'a dupliqué la feuil2 en me demandant combien je veux de copies et me renomme les feuilles en feuil1 feuil1 (2), feuil1 (3), etc... à partir de la feuil2.

Ensuite j'ai supprimé cette macro parce qu'elle ne sera plus utile. Et j'ai enregistré ce classeur en "modèle" Excel.

Lorsque je crée un nouveau fichier à partir de mon modèle j'ai besoin que mes onglets portent le nom du mois et l'année et que le premier mois puisse être n'importe quel mois de l'année (pas forcément janvier). Comme je ne savais pas le faire avec le "vrai" format MMM-AAAA, j'ai placé mes mois et années en colonne F de la feuille de "données" et les cellules E4 de mes 48 feuilles vont chercher les infos avec la formule =Données!F2 , F3, F4.

Puis j'applique la macro que tu as vue pour renommer mes feuilles. Je sais c'est très "bricolé"...

si le même onglet doit être copié 40 fois, plutôt que de dupliquer cet onglet, puis d'exécuter ta macro pour renommer les feuilles, ne serait-il pas intéressant de tout faire en une fois ? Au départ d'un onglet "modèle", on le duplique, on nomme chaque nouvelle feuille, on inscrit les dates en G2, E4, etc.

Bien-sûr c'est mieux, et je n'ai même plus besoin que la cellule E4 soit renseignée puisqu'elle n'a été créée que pour donner leur nom aux feuilles.

J'ai besoin de 48 feuilles après celle des données. 48 c'est un maximum, je n'en ajouterai pas et s'il y en a trop ça n'a pas d'importance.

Le premier mois doit pouvoir être n'importe quel mois, et l'année concernée doit pouvoir être 2020 ou plus

Autre contrainte : le premier mois et seulement celui-ci ne commence pas forcément par le 1er jour du mois.

C'est très sympa à toi d'avoir approfondi le sujet, si ça t'embête, je comprendrais et j'en resterais au post qui me permet d'automatiser mes dates en G2....

A+

Re-bonjour,

si ça t'embête, je comprendrais et j'en resterais au post qui me permet d'automatiser mes dates en G2

Si ça m'embêtait, je n'aurais pas posé de questions supplémentaires

Comme j'y ai réfléchi, voici une proposition ... il faudra sans doute modifier la date de ta "première feuille"

Tu verras bien si ça te permet d'avancer !?

Tu introduis en feuille Données, la date du premier mois. La macro crée 48 feuilles, en faisant autant de copies de la feuille "Modèle"

48 feuilles, ce n'est pas instantané, hein

Mille Mercis à toi, ça va rouler bien mieux pour moi maintenant

Bonne soirée !

Bien cordialement.

Nyre

Rechercher des sujets similaires à "automatiser formule feuille precedente"