A voir également:
- Dates françaises, dates U.S.
- Radios françaises - Télécharger - Médias et Actualité
- Paroles de chansons françaises à imprimer pdf - Télécharger - Vie quotidienne
- Nombre de jours entre deux dates excel - Guide
- Nombre de nuits entre deux dates ✓ - Forum Excel
- Calcul de nbre de nuitees pour ch d'hotes ✓ - Forum Bureautique
6 réponses
M-12
Messages postés
1331
Date d'inscription
lundi 22 septembre 2008
Statut
Membre
Dernière intervention
8 avril 2023
283
10 févr. 2018 à 13:10
10 févr. 2018 à 13:10
Bonjour,
A la vue des explications, je n'ai rien compris (mise à part que c'est un format de présentation de la date)
Alors mettez un classeur avec des explications sur le résultat obtenu et celui espèré
Ce sera plus clair
A la vue des explications, je n'ai rien compris (mise à part que c'est un format de présentation de la date)
Alors mettez un classeur avec des explications sur le résultat obtenu et celui espèré
Ce sera plus clair
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié le 10 févr. 2018 à 14:08
Modifié le 10 févr. 2018 à 14:08
Bonjour,
« Le format de la date est "Date" et "*14/03/20nn", la procédure et la feuille Excel sont strictement les mêmes, la différence provient donc d'un paramétrage du système .... mais lequel ????? »
C'est tout à fait normal, le format date choisi, "*14/03/20nn", est celui du système paramétré dans les options régionales (Heure et Langue sous W10).
Pour obtenir une date non régionale il faut choisir un format sans l’astérisque, par exemple hh/mm/aaaa
« Le format de la date est "Date" et "*14/03/20nn", la procédure et la feuille Excel sont strictement les mêmes, la différence provient donc d'un paramétrage du système .... mais lequel ????? »
C'est tout à fait normal, le format date choisi, "*14/03/20nn", est celui du système paramétré dans les options régionales (Heure et Langue sous W10).
Pour obtenir une date non régionale il faut choisir un format sans l’astérisque, par exemple hh/mm/aaaa
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
10 févr. 2018 à 14:50
10 févr. 2018 à 14:50
Bonjour,
Une procédure VBA traite une feuille...
Il faut montrer le code, on n'est pas devin.
Souvent dû à l'absence de conversion avec Cdate(ta_date), mais il y a tellement d'autres cas où cette inversion jj/mm se produit, il faut même parfois reconstruire la date... Mais ça avant son écriture, une fois qu'excel a mal traduit la date passée c'est trop tard, elle est fausse et le restera.
Donc difficile sans code et classeur. Et même avec ça peut dépendre des paramètres locaux et de la version excel (tellement de surprises avec 2016, sans parler des bugs de 2007)
eric
Une procédure VBA traite une feuille...
Il faut montrer le code, on n'est pas devin.
Souvent dû à l'absence de conversion avec Cdate(ta_date), mais il y a tellement d'autres cas où cette inversion jj/mm se produit, il faut même parfois reconstruire la date... Mais ça avant son écriture, une fois qu'excel a mal traduit la date passée c'est trop tard, elle est fausse et le restera.
Donc difficile sans code et classeur. Et même avec ça peut dépendre des paramètres locaux et de la version excel (tellement de surprises avec 2016, sans parler des bugs de 2007)
eric
Merci à tous les trois de bien vouloir vous intéresser à mon cas.
Ce que j'obtiens sur mon ordinateur :
Numéro \ Date Virement \ Montant \ Libellé
2838 \ 07/02/2018 \____49,00____\ Virement En Votre Faveur
1755 \ 07/02/2018 \____49,00____\ Virement En Votre Faveur
Ce que mon collègue obtient sur son ordinateur avec le même classeur et la même macro VB sous Excel :
Numéro \ Date Virement \ Montant \ Libellé
2838 \ 02/07/2018 \________49,00 \ Virement En Votre Faveur
1755 \ 02/07/2018 \________49,00 \ Virement En Votre Faveur
La procédure VB :
' Ligne(1, 2) = a$
Truc = CVDate(a$)
Ligne(1, 2) = Format(Truc, "dd/mm/yyyy")
' Ligne(1, 3) = b$
Truc = Val(b$)
Ligne(1, 3) = Format(Truc, "## ##0.00")
En désespoir de cause, je peux décrire la cellule en format "Texte" et bricoler la date ... et vive la compatibilité selon Microsoft !!!
Merci d'avance
Ce que j'obtiens sur mon ordinateur :
Numéro \ Date Virement \ Montant \ Libellé
2838 \ 07/02/2018 \____49,00____\ Virement En Votre Faveur
1755 \ 07/02/2018 \____49,00____\ Virement En Votre Faveur
Ce que mon collègue obtient sur son ordinateur avec le même classeur et la même macro VB sous Excel :
Numéro \ Date Virement \ Montant \ Libellé
2838 \ 02/07/2018 \________49,00 \ Virement En Votre Faveur
1755 \ 02/07/2018 \________49,00 \ Virement En Votre Faveur
La procédure VB :
' Ligne(1, 2) = a$
Truc = CVDate(a$)
Ligne(1, 2) = Format(Truc, "dd/mm/yyyy")
' Ligne(1, 3) = b$
Truc = Val(b$)
Ligne(1, 3) = Format(Truc, "## ##0.00")
En désespoir de cause, je peux décrire la cellule en format "Texte" et bricoler la date ... et vive la compatibilité selon Microsoft !!!
Merci d'avance
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
10 févr. 2018 à 19:22
10 févr. 2018 à 19:22
Qu'y-a-t'il dans les paramètres régionaux de Windows ?
As tu essayé avec un format personnalisé de la cellule : jj/mm/aaaa;@
As tu essayé avec un format personnalisé de la cellule : jj/mm/aaaa;@
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
10 févr. 2018 à 19:55
10 févr. 2018 à 19:55
sur son PC met-toi sur la date et regarde ce que tu lis dans la zone d'édition des formules.
Si tu lis la date correcte 07/02/2018 c'est un problème de format.
Si tu lis toujours 02/07/2018 c'est qu'elle a été mal convertie par vba et là c'est dans vba qu'il faut agir. Tu pourras mettre tous les format que tu veux elle restera mauvaise.
Au passage Cvdate() est fournir pour rétro-compatibilité mais ne doit plus être utilisée. C'est Cdate() maintenant.
Avec Ligne(1, 2) = Format(Truc, "dd/mm/yyyy") tu ne fournis pas une date à excel, mais une chaine qu'il cherche à nouveau à interpréter (mal dans certains cas apparemment)
Essaie plutôt avec :
eric
Si tu lis la date correcte 07/02/2018 c'est un problème de format.
Si tu lis toujours 02/07/2018 c'est qu'elle a été mal convertie par vba et là c'est dans vba qu'il faut agir. Tu pourras mettre tous les format que tu veux elle restera mauvaise.
Au passage Cvdate() est fournir pour rétro-compatibilité mais ne doit plus être utilisée. C'est Cdate() maintenant.
Avec Ligne(1, 2) = Format(Truc, "dd/mm/yyyy") tu ne fournis pas une date à excel, mais une chaine qu'il cherche à nouveau à interpréter (mal dans certains cas apparemment)
Essaie plutôt avec :
Ligne(1, 2) = Cdate(a$)
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour à vous deux,
J'ai essayé de suivre au mieux vos conseils et pour celà j'ai essayé sur mon portable qui dispose d'Excel 2013 (je développe avec VB sur mon PC de Bureau) >> même résultat que le collègue (02/07/2018) ...
Sur ce portable :
Paramètres régionaux Windows : langue = Français; date courte = jj/MM/aaaa
j'ai essayé Format(Truc,"jj/mm/aaaa;@")
j'ai remplacé tous les CVdate (vieille habitude) par Cdate
des MSGBOX sur a$, Truc, Ligne(1,2) annoncent 07/02/2018
.... et sur la feuille Excel je récupère 02/07/2018 !!!!
On va bien réussir à bidouiller quelque chose mais j'aimerais avant tout comprendre la cause : incompatibilité entre version d'Excel ??? Ce me semble un peu improbable.
Merci
J'ai essayé de suivre au mieux vos conseils et pour celà j'ai essayé sur mon portable qui dispose d'Excel 2013 (je développe avec VB sur mon PC de Bureau) >> même résultat que le collègue (02/07/2018) ...
Sur ce portable :
Paramètres régionaux Windows : langue = Français; date courte = jj/MM/aaaa
j'ai essayé Format(Truc,"jj/mm/aaaa;@")
j'ai remplacé tous les CVdate (vieille habitude) par Cdate
des MSGBOX sur a$, Truc, Ligne(1,2) annoncent 07/02/2018
.... et sur la feuille Excel je récupère 02/07/2018 !!!!
On va bien réussir à bidouiller quelque chose mais j'aimerais avant tout comprendre la cause : incompatibilité entre version d'Excel ??? Ce me semble un peu improbable.
Merci