Format de cellule dans VBA

Résolu
Bonjour,

Je souhaite imposer un format de cellule basé sur la date du jour avec un chiffre complémentaire.
J'ai essayé "00000000-0" mais ce n'est pas satisfaisant.

Je m'explique par un exemple:

Si nous sommes le 17.11.2014, je souhaite pouvoir saisir un texte(nombre) composé de la date en sens inverse 20141117 suivi d'un chiffre entre 1 et 9 soit au final 20141117-1 par exemple.

J'aimerais qu'il ne soit pas possible de saisir que partiellement la date inversée, car si je saisis les 5 premiers chiffres uniquement ça me donne 00002014-1.

Quelqu'un peut-il m'aider ? Je débute dans VBA et là je suis arrivé à la limite de mes capacités.

D'avance merci pour votre aide

3 réponses

  1. bonjour,

    je souhaite pouvoir saisir un texte(nombre) Dans quoi, une cellule, une textebox ou .... ...????????????????????
    1. Salam qaywsx.

      Essaye ce code :

      Private Sub Worksheet_Change(ByVal Target As Range)
      Application.EnableEvents = False
      j = Mid(Target, 1, 2)
      m = Mid(Target, 4, 2)
      a = Mid(Target, 7, 4)
      n = 1
      Target = a & m & j & "-" & n
      Application.EnableEvents = True
      End Sub


      Quand on saisit "17/11/2014" dans une cellule, le contenu est automatiquement modifié pour devenir "20141117-1"

      J'espère avoir aidé :)
      1. Bonjour redaiwa,

        Ta solution fonctionne très bien et c'est celle que je vais utilisé.

        J'ai également trouvé une autre possibilité, sans passer par VBA:

        Soit la Date sous forme jj.mm.aaaa

        =JOUR(Date)+MOIS(Date)*100+ANNEE(Date)*10000 & " - " & n

        Merci pour ton aide !