Macro qui se comporte bizarrement

C'est vraiment bizarre. Comment se fait-il que pour vous ça marche et pas moi? Ce que je vais dire est peut-être ridicule, mais vous demeurez tous en France je crois et moi je demeure au Québec. Cela pourrait-il avoir un lien? Je sais bien que cela n'a pas vraiment de sens, mais je ne sais plus quoi penser....

vous avez testé ce que je viens de vous donner dans mon post précédent ?? --> https://forum.excel-pratique.com/s/goto/1266279

Oui je pense que le problème vient du fait que vous soyez au Québec
J'ai fait la manip que Dan a proposée en mettant "dd/mm/yyyy" et pour moi maintenant je retrouve votre souci.
Bonne soirée
Papy Henri

Je viens de le faire et ENFIN, ÇA MARCHE!!!! Youppi!! Hé la la! On peut dire que cela n'a pas été facile. Vous êtes vraiment tous des amours!!!!! Vous êtes des modèles de patience.

Il ne me reste qu'un seul problème à régler c'est lorsque je clique sur une des petites flèches rouges pour changer de date, Excel écrit n'importe quoi. Par exemple, si je clique sur la flèche du haut, Excel inscrit 05/01/2026 et si je clique sur la flèche du bas, Excel inscrit 30/04/2026. Mais à chaque fois que je clique à nouveau sur une des flèche la date change pour à peu près n'importe quoi. La 2e fois que j'ai cliqué sur la flèche du haut, Excel écrit 01/05/26 et sur la flèche du bas 04/01/2026. Je n'ai jamais vu une affaire de fous comme ça.

image

Non ce n'est pas fou... En fait la date officel au Québec inverse les jours et les mois

Pour votre souci de bouton, modifiez les deux codes SPINBUTTON comme ceci

Sub SpinButton1_SpinDown()
    Me.TextBox1 = DateSerial(Year(TextBox1), Month(TextBox1), Day(TextBox1)) - 1
End Sub
Sub SpinButton1_Spinup()
    Me.TextBox1 = DateSerial(Year(TextBox1), Month(TextBox1), Day(TextBox1)) + 1
End Sub

Merci, mais ce changement ne règle malheureusement pas le dernier problème.

image

Mais pourquoi vous remettez l'ancien code dans la sub Initialize ??

Je n,ai pas remis l'ancien code, j'ai simplement pris le dernier fichier que vous avez mis, soit suivi-depenses-mf-2026bis.xlsm (87.15 Ko). Mais là, je crois que je vais devoir reprendre mon fichier qui a dans son nom Version 3 parce que je ne sais plus dans quel fichier se sont inscrits tous les changements et refaire tous les changements proposés.

Voici votre fichier V3 que vous m'avez envoyé

J'ai renommé en V4

J'ai fait la totalité des changements dans mon fichier comportant le nom Version 3 et malheureusement, le problème n'est pas réglé.

Même si j'utilise votre fichier en Version 4. Le problème reste là.

Re

Dans le code Private Sub CommandButton1_Click(), remplacez cette ligne1

Format(CDate(TextBox1.Value), "dd/mm/yyyy")

par celle-ci

DateSerial(Year(TextBox1), Month(TextBox1), Day(TextBox1))

Crdlt

Quand je fais ça, je reviens avec la date du 4 janvier alors ce n'est pas bon.

J'ai remis le code Format(CDate(TextBox1.Value), "dd/mm/yyyy") pour retrouver le 1er avril.

Étant donné la ligne qu'on a changée parce que je demeure au Québec, devrions-nous également changer les lignes

Sub SpinButton1_SpinDown()
Me.TextBox1 = DateSerial(Year(TextBox1), Month(TextBox1), Day(TextBox1)) - 1
End Sub
Sub SpinButton1_Spinup()
Me.TextBox1 = DateSerial(Year(TextBox1), Month(TextBox1), Day(TextBox1)) + 1

pour changer Day et Month de place? Je ne veux pas empirer les choses alors je ne l'ai pas fait, mais qu'est-ce que ça ferait si on mettait :

Sub SpinButton1_SpinDown()
Me.TextBox1 = DateSerial(Year(TextBox1), Day(TextBox1), Month(TextBox1)) - 1
End Sub
Sub SpinButton1_Spinup()
Me.TextBox1 = DateSerial(Year(TextBox1), Day(TextBox1), Month(TextBox1)) + 1

Je ne comprends pas trop ce que vous faites

Vous m'écrivez ceci

Même si j'utilise votre fichier en Version 4. Le problème reste là.

Or dans la version 4, je vous ai mis la ligne que vous donnez ici --> https://forum.excel-pratique.com/s/goto/1266300
Et dans votre message précédent vous me dites que cela ne fonctionne pas

La version 4 contient la ligne --> Format(CDate(TextBox1.Value), "dd/mm/yyyy"). Et vous m'écrivez que cela fonctionne.

Je ne comprends plus...

Étant donné la ligne qu'on a changée parce que je demeure au Québec, devrions-nous également changer les lig

Non vous ne changez rien et n'inverser rien. Avec Dateserial, excel s'adapte à votre pays
L'instruction Dateserial c'est Annee, mois, Jour

Pour le moment, je ne fais rien, je ne fais et que poser des questions. J'ai repris le fichier version 4 (je mets une capture d'écran) et je dis que lorsque je clique sur une des petites flèches rouges (soit vers le bas, soir vers le haut), la date qui s'affiche n'est pas le 2 avril ou le 31 mars. C'est une date qui ne suit pas ou ne précède pas la date du jour.

image

Si je clique sur la petite flèche rouge qui pointe vers le haut, c'est cette date qui apparaît :

image

Et si clique sur la petite flèche rouge qui pointe vers le bas, c'est cette date qui apparaît :

image

J'ai l'impression que vos paramètres de date windows jouent des tours

A tout hasard essayer le code comme ceci

Sub SpinButton1_SpinDown()
Dim d As Long
    d = CLng(CDate(TextBox1)) - 1
    Me.TextBox1 = CDate(d)
End Sub

Si ok, le code spinup sera le même mais avec + 1 au lieu de -1

Non. ça ne fonctionne pas.

image

Bonjour,

hum.... dans le même esprit que pour le code Valider, essayer ceci

Sub SpinButton1_SpinDown()
Me.TextBox1 = CDate(TextBox1) - 1
Me.TextBox1 = Format(TextBox1, "dd/mm/yyyy")
End Sub

Crdlt

Rechercher des sujets similaires à "macro qui comporte bizarrement"