Je veux écrire une date dans une Macro

Résolu
Magikarp1990 Messages postés 6 Statut Membre -  
fabien25000 Messages postés 697 Statut Membre -
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.

2 réponses

  1. fabien25000 Messages postés 697 Statut Membre 59
     
    Bonjour,

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

    0
    1. Magikarp1990 Messages postés 6 Statut Membre
       
      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?
      0
    2. fabien25000 Messages postés 697 Statut Membre 59
       
      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.
      0
    3. Magikarp1990 Messages postés 6 Statut Membre
       
      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?
      0
      1. fabien25000 Messages postés 697 Statut Membre 59 > Magikarp1990 Messages postés 6 Statut Membre
         
        non passe le sujet en résolu, bonne soirée
        0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

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

    Cdlmnt
    0
    1. Magikarp1990 Messages postés 6 Statut Membre
       
      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
      0
    2. fabien25000 Messages postés 697 Statut Membre 59
       
      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
      0