OVH Cloud OVH Cloud

Probleme de format de date

4 réponses
Avatar
Lena
Bonjour,

Je dois numéroter un champ automatiquement en ajouter chaque fois 1 au
numéro précédent, et en terminant ce nombre par .03 (03 étant le numéro de
l'année, en 2004, il faudra terminer par .04, etc...)

Je n'y arrive pas de manière automatique, je me noie dans le VBA avec les
formats de nombre. J'ai bien essayé Format(Date, "yy"), ça ne fonctionne
pas.

Quelqu'un peut-il m'aider ?

Merci d'avance et bonne fin de journée

4 réponses

Avatar
Michel Gaboly
Bonjour Lena,

Que représente Date dans ton exemple ?

Si c'est ta variable, cela ne peut pas marcher ;-((

Date est un mot réservé qui renvoie la date système. Modifie le nom de ta
variable (MaDate, DateRef, ce que tu veux qui ne soit pas un mot réservé)
et fais un recherche remplacer pourmettre à jour ton code.


Bonjour,

Je dois numéroter un champ automatiquement en ajouter chaque fois 1 au
numéro précédent, et en terminant ce nombre par .03 (03 étant le numéro de
l'année, en 2004, il faudra terminer par .04, etc...)

Je n'y arrive pas de manière automatique, je me noie dans le VBA avec les
formats de nombre. J'ai bien essayé Format(Date, "yy"), ça ne fonctionne
pas.

Quelqu'un peut-il m'aider ?

Merci d'avance et bonne fin de journée


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
Frédéric Sigonneau
Bonjour,

Une possibilité avec quelques formules (en supposant que la série commence avec
le nombre 1):

En A1 (point de départ de la série) :
=1&TEXTE(AUJOURDHUI();".aa")
En A2 et recopié vers le bas selon les besoins :
=GAUCHE(A1;NBCAR(A1)-3)+1&TEXTE(AUJOURDHUI();".aa")

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour,

Je dois numéroter un champ automatiquement en ajouter chaque fois 1 au
numéro précédent, et en terminant ce nombre par .03 (03 étant le numéro de
l'année, en 2004, il faudra terminer par .04, etc...)

Je n'y arrive pas de manière automatique, je me noie dans le VBA avec les
formats de nombre. J'ai bien essayé Format(Date, "yy"), ça ne fonctionne
pas.

Quelqu'un peut-il m'aider ?

Merci d'avance et bonne fin de journée


Avatar
Lena
Bonjour,

En fait, j'ai déclaré une variable date pour la date du jour. Je
souhaiterais obtenir, pour la date du jour, uniquement les deux derniers
chiffres de l'année, c'est à dire que MonAnnee = 03.

Dim NoDevis As Integer
Dim PremierDevis As Integer
Dim MaDate As Date
Dim MonAnnee As Date

MonAnnee = Format(MaDate, "yy")

Si MaDate = #17.11.2003#, MonAnnee sera égale à #02.01.1900#. Si je mets une
autre variable de type integer ou variant, ça ne marche pas non plus. Que
faire ?

Merci de votre aide.
Cordiales salutations


"Michel Gaboly" a écrit dans le message de news:

Bonjour Lena,

Que représente Date dans ton exemple ?

Si c'est ta variable, cela ne peut pas marcher ;-((

Date est un mot réservé qui renvoie la date système. Modifie le nom de ta
variable (MaDate, DateRef, ce que tu veux qui ne soit pas un mot réservé)
et fais un recherche remplacer pourmettre à jour ton code.


Bonjour,

Je dois numéroter un champ automatiquement en ajouter chaque fois 1 au
numéro précédent, et en terminant ce nombre par .03 (03 étant le numéro
de


l'année, en 2004, il faudra terminer par .04, etc...)

Je n'y arrive pas de manière automatique, je me noie dans le VBA avec
les


formats de nombre. J'ai bien essayé Format(Date, "yy"), ça ne
fonctionne


pas.

Quelqu'un peut-il m'aider ?

Merci d'avance et bonne fin de journée


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





Avatar
Michel Gaboly
Re Lena,

Il ne faut pas utiliser "as Date" pour MonAnnee, mais "as Integer"

Pour Excel, les jours sont numérotés à partir du 1er janvier 1900
(par défaut sous Windows, ou 1904 par défaut sur Mac).

Pour t'en convaincre, entre une date dans une cellule et formate celle-ci
en Standard. Tu auras une valeur comme 38000 (un siècle représentant
environ 36500 jours (365 * 100 aux 29 février près).

Par conséquent les 2 derniers chiffres de l'année te donnent 03, qui
correspond au 3/1/1900 (et pas au 2).

Dim Annee as Integer

Annee = Format(Right(Date,2), "00")

Voilà



Bonjour,

En fait, j'ai déclaré une variable date pour la date du jour. Je
souhaiterais obtenir, pour la date du jour, uniquement les deux derniers
chiffres de l'année, c'est à dire que MonAnnee = 03.

Dim NoDevis As Integer
Dim PremierDevis As Integer
Dim MaDate As Date
Dim MonAnnee As Date

MonAnnee = Format(MaDate, "yy")

Si MaDate = #17.11.2003#, MonAnnee sera égale à #02.01.1900#. Si je mets une
autre variable de type integer ou variant, ça ne marche pas non plus. Que
faire ?

Merci de votre aide.
Cordiales salutations

"Michel Gaboly" a écrit dans le message de news:

Bonjour Lena,

Que représente Date dans ton exemple ?

Si c'est ta variable, cela ne peut pas marcher ;-((

Date est un mot réservé qui renvoie la date système. Modifie le nom de ta
variable (MaDate, DateRef, ce que tu veux qui ne soit pas un mot réservé)
et fais un recherche remplacer pourmettre à jour ton code.


Bonjour,

Je dois numéroter un champ automatiquement en ajouter chaque fois 1 au
numéro précédent, et en terminant ce nombre par .03 (03 étant le numéro
de


l'année, en 2004, il faudra terminer par .04, etc...)

Je n'y arrive pas de manière automatique, je me noie dans le VBA avec
les


formats de nombre. J'ai bien essayé Format(Date, "yy"), ça ne
fonctionne


pas.

Quelqu'un peut-il m'aider ?

Merci d'avance et bonne fin de journée


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





--
Cordialement,

Michel Gaboly
http://www.gaboly.com