Problème de format Date VBA
Cal
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
ça fait deux jour que je bute sur ça, j'espère que vous pourrez m'aider.
J'ai une macro avec laquelle je veux récupérer une colonne de dates qui sont au format français "jj/mm/aaaa". le soucis c'est que VBA passe automatiquement les dates format anglo-saxon "mm/jj/yyyy" MAIS seulement si jour et mois <= 12.
J'ai trouvé sur internet semble t-il la solution à ce soucis mais je dois mal l'utiliser étant un grand débutant du vba. Si quelqu'un pouvais m'expliquer la marche à suivre.
CDate(CSng(cell))
Donc comment je peux faire pour qu'elle reste au format français.
Merci d'avance.
ça fait deux jour que je bute sur ça, j'espère que vous pourrez m'aider.
J'ai une macro avec laquelle je veux récupérer une colonne de dates qui sont au format français "jj/mm/aaaa". le soucis c'est que VBA passe automatiquement les dates format anglo-saxon "mm/jj/yyyy" MAIS seulement si jour et mois <= 12.
J'ai trouvé sur internet semble t-il la solution à ce soucis mais je dois mal l'utiliser étant un grand débutant du vba. Si quelqu'un pouvais m'expliquer la marche à suivre.
CDate(CSng(cell))
Donc comment je peux faire pour qu'elle reste au format français.
Merci d'avance.
A voir également:
- Problème de format Date VBA
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
- Format doc - Guide
4 réponses
Bonjour,
L'astuce consiste à transformer la date en nombre de série, ce qui est aussi plus pratique à manipuler dans VBA
fais une petite maquette avec la date en A1=1/12/12
B1 et C1 au format standard
B1 te renvoie 41244 : n° de série de la date et C1: 01/12/12
edit : rectifié faute de frappe (en gras)!!!
Michel
L'astuce consiste à transformer la date en nombre de série, ce qui est aussi plus pratique à manipuler dans VBA
fais une petite maquette avec la date en A1=1/12/12
B1 et C1 au format standard
B1 te renvoie 41244 : n° de série de la date et C1: 01/12/12
Sub datefr() Dim jour As Long jour = CLng(Range("A1")) Range("B1") = jour With Range("C1") .Value = jour .NumberFormat = "dd/mm/yy;@" End With End Sub
edit : rectifié faute de frappe (en gras)!!!
Michel
Alors j'ai essayer ta solution tel quel et elle fonctionne parfaitement.
Ptit soucis quand j'essai de l'adapter à ma situation j'obtiens une "erreur d'icompatibilité".
jour = CLng(Range("D2:D" & [D65536].End(xlUp).Row))
With Range("I2:I" & [I65536].End(xlUp).Row)
.Value = jour
.NumberFormat = "dd/mm/yyyy;@"
End With
mes dates sont situées dans la colonne D et aprés exécution de la macro elle sont décallé ( à cause de l'insertion de nouvelle colonne) dans la colonne I
Tu vois d'ou ça pourrait venir?
Ptit soucis quand j'essai de l'adapter à ma situation j'obtiens une "erreur d'icompatibilité".
jour = CLng(Range("D2:D" & [D65536].End(xlUp).Row))
With Range("I2:I" & [I65536].End(xlUp).Row)
.Value = jour
.NumberFormat = "dd/mm/yyyy;@"
End With
mes dates sont situées dans la colonne D et aprés exécution de la macro elle sont décallé ( à cause de l'insertion de nouvelle colonne) dans la colonne I
Tu vois d'ou ça pourrait venir?
Re,
Un edit de ce que j'ai dis : la colonne D se déplace jusqu'à la colonne I mais sur une nouvelle page excel et pas la même.
Donc j'ai retirer le ScreenUpdating. mais j'obtiens toujours cette erreur de "incompatibilité de type". Je suis vraiment mauvais.
Est-ce qu'il ne faudrait pas spécifier les colonne par rapport au fichier ( fichier 1 , fichier 2)?
Si oui, comment je dois procéder sachant que je ne sais pas comment se creer le second fichier ?
je reprend un projet en cour :s. pas tiptop mais j'essai de régler le soucis.
Un edit de ce que j'ai dis : la colonne D se déplace jusqu'à la colonne I mais sur une nouvelle page excel et pas la même.
Donc j'ai retirer le ScreenUpdating. mais j'obtiens toujours cette erreur de "incompatibilité de type". Je suis vraiment mauvais.
Est-ce qu'il ne faudrait pas spécifier les colonne par rapport au fichier ( fichier 1 , fichier 2)?
Si oui, comment je dois procéder sachant que je ne sais pas comment se creer le second fichier ?
je reprend un projet en cour :s. pas tiptop mais j'essai de régler le soucis.
oui, mais tout ca, il faut le dire AVANT
maintenant tu me dis que c'est sur une nouvelle page puis sur un autre fichier, puis que tu dois créer cet autre fichier...
puis encore ?
excuses moi, mais...
on est bénévoles, certes, mais on ne va pas passer des heures à re-re-re faire des propositions de solution par suite de demandes rédigées à la va vite
:-((
Abandon, désolé
maintenant tu me dis que c'est sur une nouvelle page puis sur un autre fichier, puis que tu dois créer cet autre fichier...
puis encore ?
excuses moi, mais...
on est bénévoles, certes, mais on ne va pas passer des heures à re-re-re faire des propositions de solution par suite de demandes rédigées à la va vite
:-((
Abandon, désolé
Merci