Salut,
de saines lectures et de quoi aller chercher l'information directement là :
http://jpcheck.developpez.com/tutori...international/
Version imprimable
Salut,
de saines lectures et de quoi aller chercher l'information directement là :
http://jpcheck.developpez.com/tutori...international/
Salut !
Non, car c'est un fait bien établi : VBA en interne reste au format US, point …
Comme j'ai la flemme et te connaissant, préférant travailler avec tes données pour être sûr
que tu sois sur la même longueur d'ondes, merci de joindre un p'tit classeur enregistré en .xlsx
pour te rappeler encore une fois la simple astuce inhérente justement de ce fait établi
publiée à diverses occasions dans les discussions de ce forum, si t'es toujours intéressé …
Edit : pourtant elle a été indiquée dans cette discussion mais restée sans suite !
___________________________________________________________________________________________________________Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
Patrick,
j'insiste car la conversion de ta colonne peut s'effectuer en seulement 3 lignes de code !
Et pas plus de 7 lignes pour couvrir toutes les configurations régionales possibles …
Peut-être que le 4/12/2018 vous aurez trouvé la solution à votre problème.
Mais au fait, le 4/12/2018 c'est le quatre décembre ou le douze avril ?
Comment allez vous interpréter cette information ? Sur quelle logique ? Sur quel à priori ? Est-ce du français ou de l'anglais ?
Bonsoir,
Tout comme le 4/1/2018 est un poisson d'avril!
En dehors de simples fonctions de feuille de calculs faisant déjà bien l'office
sans même devoir faire appel à une fonction personnalisée en VBA,
en se déchargeant de toute contrainte lue sur le sujet, juste en retournant à l'essentiel d'Excel
à savoir ses fonctionnalités internes existantes depuis des lustres, bref
le B-A-BA d'Excel permet déjà de basculer ce genre de colonnes texte en date en moins de dix secondes
et si une automatisation est vraiment nécessaire alors elle réclame en VBA une seule et unique ligne de code
formatage de cellules y compris et ce quelle que soit la configuration régionale de Windows !
Ceci pour la correction de données à posteriori même s'il vaut mieux importer directement au bon format …
Lorsqu'on ecrit une valeur dans une cellule a partir de VBA, VBA n'est pas plus americain. Il devient parfaitement bilingue. A la demande du programmeur, il comprend aussi bien la langue locale que l'anglais-americain, en ce qui concerne les nombres ou les dates.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Sub VBA_Bilingue() col = 2 Set f = Worksheets("Feuil4") Set c = f.Cells(1, col) Ligne = 6 Set c = Cells(Ligne, col) NumFormat = "@" valeur = CDate("10/02/2018") Call traite(c, NumFormat, valeur) Ligne = 9 Set c = Cells(Ligne, col) NumFormat = "0.0000" valeur = "1,234" 'Pour les Anglo-americains, la virgule est le separateur de milliers. Call traite(c, NumFormat, valeur) End Sub Sub traite(c, nformat, valeur) c.NumberFormat = nformat c.FormulaLocal = valeur ' Avec .FormulaLocal, VBA ne comprend que la langue locale. c.Offset(1, 0).NumberFormat = nformat c.Offset(1, 0).Value = valeur ' Avec .Value, VBA ne comprend que l'anglo-americain. End Sub
Bonjour,
Où mène cette discussion ?
Patrick, la discusion est notée résolue : tu as eu réponse à ta question ?
re
oui le numberformat "d/m/yyyy" semble remettre les choses en ordre comme le dit eriic dans un de ses posts
Ok, merci.
Inutile donc de trop divaguer sur le sujet, cette discussion devient illisible.
C'est noté !
Mais merci de ne pas confondre affirmation avec divagation …
J'affirme que l'on divague, au sens propre, sans juger la qualité des interventions.
Une discussion autour de la problématique des dates ne me choque pas, mais pas sur une discussion résolue et pas dans ce forum.
Si vous souhaitez continuer à échanger pour approfondir un sujet, il est préférable d'utiliser le forum contribuez.
Cela laisse la place aux discussions de demande d'aide, sinon on va avoir des messages d'échanges entre experts qui monopolisent la tête de liste du forum.