[AIDE] Macro commande De date sous Excel

Bonjour à tous

Je suis nouveau ici

Je suis etudiant en BTS Informatique et je suis en stage ou je dois faire différentes choses sous excel et la j'ai un petit probléme. Je vous explique

Dans une base de donnée la personne qui a rentré la date l'a rentré comme ça : ( ce que j'ai dans la cellule )

60201 en fait correpond au 01/02/2006 donc voila ce que je voudrais faire

diviser ce chiffre par 10000 ce qui donne 6.0201

je garde uniquement la partie entiére ici 6

je lui rajoute 2000 et la j'ai l'année => 2006

ensuite je reprends le 6 et je le mulitplie par 10000 ce qui me donne 60000

je récupére mon chiffre du début (60201) et je lui soustrait 60000

il me reste donc 201

je divise 201 par cent il me reste 2.01

je garde uniquement la partie entiére ici 2 ce qui correspond au mois => fevrier = 2eme mois

ensuite je reprends le 2 et je le mulitplie par 100 ce qui me donne 200

je fais 201 moins 200 et la il me reste 1 ce qui correspond au premier jour du mois

J'éspére que je me suis bien expliqué. Je souhaite faire une macro qui me ferait ça mais je ne sais pas comment faire alors si vous avez une idée ou si méme vous pouvez me faire cette macro ça serait cool

Merci a tous

Salut, moi aussi je suis en stage de BTS info,

Je pense que tu peut récuperé le contenu de ta cellule et jouer avec des variable pour réaliser tes calculs.

dim variable as integer
variable = Sheets("Feuil1").Range("A1").select
variable1 = variable / 100
... et ainsi de suite avec tes calculs 

Bonne chance

Bonjour et bienvenue sur ce forum,

Essaye ce code à placer dans un module VBA :

Sub test()
'Macro par Dan pour ribery_7_91 le 10/06/08
Dim y, m, d
y = Mid(Range("A1"), 2, 1) & Left(Range("A1"), 1)
m = Mid(Range("A1"), 2, 2)
d = Right(Range("A1"), 1)
MsgBox d & "/" & m & "/" & y
End Sub

On suppose que la date est en A1.

Comme tu parles de base de données, il faut connaitre

  • la colonne où se trouve les chiffres "60201" etc...
  • la plage de cellule comprenant les chiffres
  • où le résultat doit être indiqué.

A te relire

Dan

15test-2.xlsm (113.60 Ko)

Ah oui, j'avais oublier cette fonction, Instr InstrRev mid et len, mais je n'est pas bien compris encore comment elle marchais

Mais je suis vraiment novice

je ne sais pas comment on execute cette macro

j'aimerais un truc détaillé pas a pas si c'est pas trop vous demander

merci

re,

Pas de soucis que tu sois novice.

range("A1") équivant à ta cellule A1

la ligne Y : on récupère l'année

la ligne m : on récupère le mois

la ligne d : on récupère le jour

Msgbox : on visualise le résultat

J'ai amendé la macro pour considérer le fait d'avoir 6 chiffres ou 5 chiffres.

Ex : si ta date est 1/02/06 pour 60201, mais si 11/02/06 tu devrais avoir un chiffre 110206.

La macro devient :

Sub test()
'Macro par Dan pour ribery_7_91 le 10/06/08
Dim y, m, d
y = Mid(Range("A1"), 2, 1) & Left(Range("A1"), 1)
m = Mid(Range("A1"), 2, 2)
If Len(Range("A1")) = 5 Then
d = Right(Range("A1"), 1)
Else: d = Right(Range("A1"), 2)
End If
MsgBox d & "/" & m & "/" & y
End Sub

Vois le fichier joint, mets un chiffre en A1 puis clique sur le bouton.

https://www.excel-pratique.com/~files/doc/faG5RClasseur1.xls

A te relire

Dan

Edit : si le premier chiffre correspond toujours à l'année : le code peut être remplacé par celui-ci

Sub test()
'Macro par Dan pour ribery_7_91 le 10/06/08
Dim y, m, d
y = Left(Range("A1"), 1)
m = Mid(Range("A1"), 2, 2)
d = Right(Range("A1"), 2)
MsgBox CDate(d & "/" & m & "/" & y)
End Sub

Reste à savoir comment sera le chiffre en 2010 : 100201 je suppose ?.

Dan

Bonjour,

Voir le fichier joint, équipé d'une fonction personnalisée.

https://www.excel-pratique.com/~files/doc/TrouveDate.xls

Pour visualiser le code, ALT + F11.

Si tu as besoin de davantage d'explications n'hésite pas !

Ce code fonctionnera uniquement si l'année est exprimée avec le premier chiffre. Donc à partir de 2010, problème en perspective... modification du code nécessaire...

Cordialement,

Rechercher des sujets similaires à "aide macro commande date"