Macro & Fichier Stock

Bonjour à tous,

Me voila encore dans une situation délicate

Dans le fichier ci-joint, j'ai mis en place deux Macro.

La première, "Importations Datas" fonctionne très bien.

C'est la seconde, "Renommage" qui me pose problèmes. En effet, je souhaiterais qu'en activant cette macro, Excel renomme automatiquement toutes mes feuilles avec les mois inscrits (et qui eux se mettent à jour automatiquement selon la date) dans l'onglet "Pilotage" en ligne 7.

Ainsi, la Sheet2 deviendrais (à aujourdh'hui) Septembre 2012, la Sheet3 Octobre 2012 ... etc

Sauf que celle-ci ne fonctionne pas à l'heure actuelle et je ne trouve pas de solutions

Par avance, merci pour votre aide !!

26projet.xlsm (141.75 Ko)

Bonjour

Sub Renomme()
For i = 1 To Worksheets.Count - 1
       Worksheets(i).Name = [B7].Offset(0, i - 1).Value
    Next i
End Sub

Cordialement

26projet.xlsm (143.10 Ko)

Bonjour et Merci aussi Amadéus,

J'ai deux interrogations toutes fois.

Afin de comprendre, saurais-tu me dire pourquoi ma macro ne marchait pas ?

J'ai vu la ligne de code que tu as rajouté.

Egalement, tu as changé les formules des mois ? y a t-il une raison ou non ? Car actuellement, lorsque la date change, les mois n'évoluent plus et cela deviens problematique.

Merci beaucoup

Bonjour

N'étant pas expert en VBA, je m'abstiens pour la première question.

Pour la seconde:

En C7, D7 et suivantes, tu as la formule

=NOMPROPRE(TEXTE(MOIS.DECALER(AUJOURDHUI();COLONNE()-2);"mmmm aaaa"))

Si tu changes la date (donc le mois pour tester) en B6, rien ne bouge.

Pour que tout bouge dans le test, il faudrait laisser =AUJOURDHUI() en B6 et changer la date Système.

Maintenant, si tu tiens à tester à partir d'une date en dur en B6, tu peux remplacer la formule en C7 (et incrémenter) par

=NOMPROPRE(TEXTE(MOIS.DECALER($B$6;COLONNE()-2);"mmmm aaaa"))

Cordialement

D'accord, je comprend maintenant mais c'est vrai que cela m'apporte peu car le premier mois sera toujours le mois actueldonc les autres suivront ...

Merci en tout cas pour ton aide Amadéus.

De plus, si quelqu'un passait par la et pourrait m'expliquer la VBA utilisée, j'en serais très reconnaissant

Bonne journée !

Bonjour

En y regardant de plus près, je pense que ces codes ne marcheront pas, car au changement de date avec la fonction AUJOURDHUI() ils planteront dès le prochain changement de mois.

Je m'explique: Nous sommes en Octobre 2012 et tu as donc tes feuilles Octobre 2012, Novembre 2012, etc...

Au changement de mois, le 1/11/2012, le Code doit nommer les Feuilles selon Novembre 2012 pour la première. Comme cette feuille existe déjà, la macro plantera; "Excel ne peut renommer une feuille selon le même nom d'une feuille qui existe déjà"

Il faut donc commencer par renommer les feuilles de façon à éviter cette ambiguité, puis revenir aux mois.

Je te propose donc, 2 instructions séparées.

Sub Renomme()
For j = 1 To Worksheets.Count - 1
Worksheets(j).Name = "Feuil" & j
Next j
For i = 1 To Worksheets.Count - 1
Worksheets(i).Name = [B7].Offset(0, i - 1).Value
Next i
End Sub

La première renomme toutes les Feuilles Feuil1, Feuil2, etc

La seconde les renomme selon les mois correspondants à ton tableau

Cordialement

Bonsoir Amadéus,

Je comprends tout à fait ce que tu expliques ci-dessus, toutefois, cela ne me posera aucun problème.

En effet, la première Macro du classeur me permet chaque jour (ou quand je le souhaite) d'importer les données mises à jour.

Cette macro remplace toutes les feuilles existantes par les nouvelles se nommant ainsi Sheet2, Sheet3 ... etc

Merci encore !

Rechercher des sujets similaires à "macro fichier stock"