RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Problème date sur VBA axcel

Forum : BUREAUTIQUE - EXCEL
Sous Catégorie : Excel
Type du sujet : Sujet Normale
FAQ : FAQ BUREAUTIQUE - EXCEL

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM BUREAUTIQUE - EXCEL

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
badmax
Nouveau membre
Inscrit : 22/10/2008
Messages : 3
Message
#157593
Posté le 23/10/08 à 23:58
Bonjour,
J'utilise un fichier excel pour un bon de commande.
PS, je ne suis pas programmeur

Celui-ci génère la date sous un format spécifique qqe soit la forme saisie.
ex : si je tape 221008, 22/10/08, 22102008 ou 22/10/2008 il va modifier la cellule et inscrire 22/10/2008

Le code est :
Private Sub Worksheet_Change(ByVal zz As Range)
Dim maDate As Date
Dim test As Variant

If Range("date_voulue") = zz And zz <> "" Then
l = Len(zz)
If l = 6 Then
X = Format(Range("date_voulue"), "000000")
Application.EnableEvents = False
an = 2000 + Format(Right(X, 2), "00")
mois = Format(Mid(X, 3, 2), "00")
jour = Format(Left(X, 2), "00")
zz = jour & "/" & mois & "/" & an
'zz = DateSerial(an, mois, jour)
Application.EnableEvents = True
ElseIf l = 8 Then
X = Format(Range("date_voulue"), "00000000")
Application.EnableEvents = False
an = Format(Right(X, 4), "00")
mois = Format(Mid(X, 3, 2), "00")
jour = Format(Left(X, 2), "00")
zz = jour & "/" & mois & "/" & an
Application.EnableEvents = True


Je dois convertir ce code pour une version canadienne pour qu'il génère une date sous le format 2008-10-22
J'ai modifié le "/" par des "-" et "Left" par "right"

Pas de pb quand je saisis 081022 ou 2008-10-22
Mais quand je saisis 08-10-22 il me génère "04-04-42"
et si je saisis 20081022 il me génère 2008-08-22

ET là je bloque

Voici où j'en étais de ma pseudo programmation
Private Sub Worksheet_Change(ByVal zz As Range)
Dim maDate As Date
Dim test As Variant

If Range("date_voulue") = zz And zz <> "" Then
l = Len(zz)
If l = 6 Then
X = Format(Range("date_voulue"), "000000")
Application.EnableEvents = False
an = 2000 + Format(Left(X, 2), "00")
mois = Format(Mid(X, 3, 2), "00")
jour = Format(Right(X, 2), "00")
zz = an & "-" & mois & "-" & jour
'zz = DateSerial(an, mois, jour)
Application.EnableEvents = True
ElseIf l = 8 Then
X = Format(Range("date_voulue"), "00000000")
Application.EnableEvents = False
an = Format(Left(X, 4), "00")
mois = Format(Mid(X, 3, 2), "00")
jour = Format(Right(X, 2), "00")
zz = an & "-" & mois & "-" & jour
Application.EnableEvents = True
End If

D'avance merci pour votre aide
Max

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 


    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.