Date Francaise - Anglaise

  • Initiateur de la discussion Initiateur de la discussion Spectroms
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

Spectroms

Guest
Bonjour,

Voici mon problème :
Quand je copie en vba les dates ben voici le résultat. Les dates sont converties en date anglaise! Comment corriger le problème ? Merci davance.
Originale :
10/08/2004
12/08/2004
16/08/2004
19/08/2004
31/08/2004

Copie

08/10/2004
08/12/2004
16/08/2004
19/08/2004
31/08/2004
 
je ne comprends pas trop ce que tu entends par copier une date dans VBA.

Mais supposons que tu entres une date dans un box vba, pour ensuite l'entrer comme 'date française' dans une cellule excel, tu dois passer par le code

jour = Day(TxtB_dateeffet.Value)
mois = Month(TxtB_dateeffet.Value)
année = Year(TxtB_dateeffet.Value)

sheets(1) .Range('B1') = DateSerial(année, mois, jour)


qui, d'abord, capte l'info dans la txtBox puis la transforme en date dans la cellule voulue (B1 dans mon exemple).

Est-ce que ça répond à ta question ??

NB: TxtB_dateeffet est le nom de ma text box

A+
 
Bonjour titcoeur,

Oui tu réponds tout à fait à ma question.
La copie se fait avec la commande :
Dim Tmp as String
Tmp = '10/08/2004'
Sheets(2).Cells(Num, Colonne).Value = Tmp

Et ca me le transforme !
Bon je vais faire comme tu m'as indiqué bien que ca m'embete un peut car Tmp pour contenir autres choses que des dates..
C'est bête que Excel gère mal les dates française...mais bon ca ne sera pas la 1er fois qu'il gère mal quelques choses 😛

Merci encore
 
Bonjour Pascal76,

Ton codage fonctionne très bien.
Bon pour les string pur, ta fonction retourne rien donc j'ai du faire un petit truc si Tmp n'était pas une date.
Mais sinon c'est parfait merci !
 
Bonjour,

En effet, j'ai un problème similaire...

J'ai un programme comptable qui permet de copier les écritures dans le presse-papier, quand je les colle manuellement dans une feuille excel, pas de problème, les dates sont au bon format, seulement quand je les colle au moyen d'un code VBA 'Selection.paste' alors là patatrac, toutes les dates sont interprètées au format anglais, enfin quand je dis toutes, non, seules les dates où le jour en première position peut être interprété comme un mois, en fait toutes les dates dont le jour est inférieur ou égal à 12.

Bizarre !!! quelqu'un a t-il une solution ?
 
Bonjour,
J'ai pour ma part résolu le pb de la façon suivante:
tu mets la cellule cible au format nombre (sans virgule!), puis
tu copies le numéro du jour et tu l'affiches ensuite au format voulu. Ce qui transforme en mm tps la valeur de la cellule

Range('A2').NumberFormat = '0'
Range('A1').copy '(par ex.)
Range('A2').PasteSpecial Paste:=xlValue
Range('A2').NumberFormat = 'dd-mm-yy'

OU également
Range('B1:B5').NumberFormat = '0'
Range('B1:B5').Value = Range('A1:A5').Value
Range('B1:B5').NumberFormat = 'dd-mm-yy'


( ou 'dd-mmmm-yyyy' , au choix.)

ça résoud tous les blèmes!

Bye
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
309
Réponses
16
Affichages
568
Réponses
12
Affichages
347
Retour