Date 2010

Résolu
lebonlazare Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   -
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
A voir également:

4 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,
Quel est le code complet de cette macro?
0
lebonlazare Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
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...

0
lebonlazare Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
en effet ca marche !!!

quel est l'explication pour le % ?

grand merci !!
Meilleurs voeux pour 2010
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
je ne sais pas... L'essentiel étant le résultat...
0