Date 2010

Résolu
Bonjour,
dans une feuille d'excel (bon de commande) j'ai une macro qui incremente une case qui est le numéro du bon (et sert en même temp du mon pour l'enregistrement de la feuille)
cette case a le format "yymminxxx" ou yy=année: mm = mois: in= initiales de la personne: xxx le numéro du bon
tout a bien marché (depuis 2001) jusqu'au passage en 2010 l'incrementation ne fonctionne plus j'ai toujour 1001in001 y a t il un bug commu ?
merci de m'aider

Lazare
Configuration: Windows XP Internet Explorer 7.0

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. La voici

    Sub Incrementation()

    Dim Nb, An%, Mois

    An = CInt(Format(Date, "YY"))
    Mois = Format(Date, "MM")
    If Range("I1") = 0 Then Range("I1") = An & Mois & "CD" & Format(0, "000")
    Nb = Right(Range("I1"), InStr(1, Range("I1"), "CD", vbTextCompare) - 1)
    Range("I1") = An & Mois & "CD" & Format(Val(Nb) + 1, "000")

    End Sub
    1. Modérateur
      J'y ai apporté 2 modifications et cela fonctionne :
      enlève le % après AN dans la déclaration des variables :
      Dim Nb, An, Mois

      Dans le "calcul" de Nb, remplacer -1 par -2 :

      Nb = Right(Range("I1"), InStr(1, Range("I1"), "CD", vbTextCompare) - 2)


      en effet, on souhaite retourner les 3 chiffres à droite de I1 or
      InStr(1, Range("I1"), "CD", vbTextCompare)
      = 5...

  2. en effet ca marche !!!

    quel est l'explication pour le % ?

    grand merci !!
    Meilleurs voeux pour 2010