Toutes les dates changent (de format) à chaque validation sur une ligne

Bonjour, je suis nouveau sur ce site et dans ce forum.

Avant de poster ce message je me suis bien assuré que ce sujet n'avait pas déjà été traité.

Voici mon problème. Je ne suis pas développeur, mais je bidouille un peu et pour mon asso d'aides aux chats errants j'ai réalisé ce petit tableau de gestion des adhérents, mais j'ai un souci avec les date d'adhésions et de dons. En effet, lorsque je reviens sur la ligne de mon adhérent pour, soit ajouter un don, soit opérer une quelconque modification ; dès lors que j'active le bouton "VALIDATIONS" toutes les dates de la ligne changent de format... même si je ne suis pas intervenu sur celles-ci.

Je suis donc obligé de revalider cette même ligne (sans rien modifier) pour remettre les dates dans le bon format.

J'ai essayé d'intégrer les format date "MM/DD/YY" et "DD/MM/YY" mais rien n'y a fait...

J'ai même tenter de lancer une boucle pour réitérer la validation en ne cliquant qu'une fois sur le bouton "VALIDATIONS" mais il faut croire que j'ai atteints mes limites !!!

Je joins mon fichier épuré de tout mais avec suffisamment de données et de codes pour que vous puissiez comprendre et éventuellement

intervenir.

Je désespère et je fais appel à vous pour m'aider à résoudre mon problème.

Par avance je vous en remercie

Aldim13

Bonjour,

je ne reproduis pas votre erreur. Cependant, une TextBox, comme son nom l'indique représente du Texte, une date sous forme de texte dans une feuille Excel, entrée par VBA peut provoquer ce genre d'erreur, c'est pourquoi dans le code VBA il faut stipuler que la donnée que l'on entre dans la cellule est une date, donc en lieu et place de : Cells(no_ligne, 15) = TextBox13.Value, il faudrait lire Cells(no_ligne, 15) = CDate(TextBox13.Value)

@ bientôt

LouReeD

Bonjour,

Lorsque tu valides quelque chose dans ton USF, les dates contenues dans tes TextBox ne sont par mises au format voulu.

Modifie toutes les lignes des textbox concernés comme ceci :

Cells(no_ligne, 12) = CDate(TextBox11.Value)

Soient tous les TxtBx remplissant les colonnes 12 à 69 step 3 (12, 15, 18....69)

Bonne journée

Edit : oupss, trop lent, moi... mais même réponse LouReed

Merci LouReeD et cousinhub,

Je vais de ce pas tenter cette modif et je vous tiens au courant.

Déjà merci de votre réactivité.

Aldim13

Un grand merci à vous deux !!!

Tout fonctionne très bien comme je le souhaitais grâce à votre intervention.

Passez de bonnes fêtes.

Aldim13

Je me joins à cousinhub pour vous remercier de votre retour et remerciements !

@ bientôt

LouReeD

Bonjour,

sinon pour votre code VBA vous pouvez aussi utiliser l'instruction CONTROLS afin de boucler sur tous vos contrôles TextBox sans les identifiés un par un comme dans votre Sub d'initialisation :

On Error Resume Next
    For i = 1 To 54
        Controls("TextBox" & i).Value = ""
    Nect i
On Error GoTo 0

Ici j'ai mis un "On Error Resume Next" afin que la boucle continue même si le TextBox n'existe pas. L'idéal serait soit de renuméroter vos TextBox soit d'ajouter une valeur "Tag" et à ce moment là vous faites un test sur cette valeur Tag et en fonction vous initialisez le contrôle ou pas, et l'avantage c'est qu'il n'est plus utile de faire une boucle sur les TextBox et une autre sur les ComboBox, il suffit d'en faire une sur les Contrôles :

    For Each Ctrl In Me.Controls
        If Ctrl.Tag = "Init" Then Ctrl.Value = ""
    Next Ctrl

@ bientôt

LouReeD

Bonsoir LouReed,

J'avance pas à pas et je viens de tester la procédure en bouclant sur les contrôles TextBox avec l'instruction CONTROLS et c'est une franche réussite et ça me fait comprendre beaucoup de choses...

Je vais d'ici peu m'essayer à l'ajout de la valeur Tag. que je vais découvrir.

Encore un grand merci.

@ Bientôt

Aldim13

Bonjour,

Bonnes continuation dans vos découvertes, et au besoin n'hésitez pas à ouvrir un nouveau post !

@ bientôt

LouReeD

Rechercher des sujets similaires à "toutes dates changent format chaque validation ligne"