Je veux écrire une date dans une Macro [Résolu]

Magikarp1990 6 Messages postés mercredi 4 octobre 2017Date d'inscription 15 novembre 2017 Dernière intervention - 4 oct. 2017 à 17:23 - Dernière réponse : fabien25000 265 Messages postés mercredi 5 octobre 2016Date d'inscription 16 octobre 2017 Dernière intervention
- 4 oct. 2017 à 22:36
Bonjour à tous,

Je suis pris devant un problème que je ne suis point capable de surmonté. Je veux écrire une macro qui enregistre des information d'un formulaire Excel su un autre document Excel qui me sert de registre. Ma macro est fonctionnel et elle marche très bien... pour l'instant. Considérant que la feuille du registre dans laquelle sont enregistré mes information est nommé "2017", je veux être capable 'en 2018 d,enregistré mes informations dans une autre feuille appelé "2018".
En gros je veux etre capable d'écrire la formule =année(aujourdhui()) en plein centre de ma macro.

Merci énormément de l'attention que vous portez à mon problème.
Afficher la suite 
6Messages postés mercredi 4 octobre 2017Date d'inscription 15 novembre 2017 Dernière intervention

8 réponses

Répondre au sujet
fabien25000 265 Messages postés mercredi 5 octobre 2016Date d'inscription 16 octobre 2017 Dernière intervention - 4 oct. 2017 à 17:50
0
Utile
4
Bonjour,

=année(aujourdhui()) se traduit en VBA par
Year(Now)

Magikarp1990 6 Messages postés mercredi 4 octobre 2017Date d'inscription 15 novembre 2017 Dernière intervention - 4 oct. 2017 à 18:42
Merci pour ta réponse, malheureusement le problème persiste ...

voici la ligne de ma macro que je dois modifier:
Set wb = ThisWorkbook
Set wbreg = Application.Workbooks.Open("P:\Dept\Commun\REGISTRE DDD\DATABASE.xlsx") 'Base de donnée
Set reg = wbreg.Worksheets("2017")
Comme on peut le voir le 2017 est le nom de la feuille je peux donc pas simplement le remplacer par Year(now).
devrais-je l'obligé a regarder en quel année nous sommes pour qu'il puisse ensuite choisir dans quel page enregistré les données?
fabien25000 265 Messages postés mercredi 5 octobre 2016Date d'inscription 16 octobre 2017 Dernière intervention - 4 oct. 2017 à 19:05
re

J'ai fait exactement ça au boulot la semaine derniére

Si tu écris Worksheets(year(now)) VBA ira dans la feuille qui a pour nom l'année en cours.

Pour ne pas avoir de bug au retour des congés de fin d'année, j'ai aussi écrit un code dans l'évenement _open du classeur qui teste la date.

A son ouverture en 2018, il est programmé pour créer une feuille nommée 2018 et les infos que je traiterai seront dirigées sur la nouvelle feuille.
Magikarp1990 6 Messages postés mercredi 4 octobre 2017Date d'inscription 15 novembre 2017 Dernière intervention - 4 oct. 2017 à 21:08
OMG... J'ai trouvé un moyen de le faire grâce à ccm81 mais ton truc est nettement plus simple. Je vais l’utiliser dans le future.

Merci beaucoup

considérant que c'est ma première question je ne suis pas sur de ce que je suis censé faire avec ma question. dois-je attendre que ccm81 ai répondu a ta question avant d'écrire résolu ou bien le l'écrit tout de suite?
fabien25000 265 Messages postés mercredi 5 octobre 2016Date d'inscription 16 octobre 2017 Dernière intervention > Magikarp1990 6 Messages postés mercredi 4 octobre 2017Date d'inscription 15 novembre 2017 Dernière intervention - 4 oct. 2017 à 22:36
non passe le sujet en résolu, bonne soirée
Commenter la réponse de fabien25000
ccm81 8197 Messages postés lundi 18 octobre 2010Date d'inscription 11 décembre 2017 Dernière intervention - 4 oct. 2017 à 19:01
0
Utile
2
Bonjour

Peut être quelque chose comme ça
Dim nomf As String
nomf = Trim(Str(Year(Date)))
Sheets(nomf).Range("A1").Value = 1

Cdlmnt
Magikarp1990 6 Messages postés mercredi 4 octobre 2017Date d'inscription 15 novembre 2017 Dernière intervention - 4 oct. 2017 à 19:24
Le tout commence à faire du sens dans ma tête. mais je ne comprend pas pourquoi excel m’envoie un message d'erreur lorsqu'il arrive à la troisième ligne et suige supposer remplacer le "2017" par nomf
fabien25000 265 Messages postés mercredi 5 octobre 2016Date d'inscription 16 octobre 2017 Dernière intervention - 4 oct. 2017 à 19:40
bonjour ccm81

Trim(Str(Year(Date)))

tu peux expliqué stp je ne comprend pas

Edit : j'ai fait F1; j'ai compris.. dans mon cas ça n'a pas été utile
Commenter la réponse de ccm81