Code VBA pour date DD/MM/YYYY

Bonjour,

N'étant pas experte en VBA je viens vers vous pour un peu d'aide.

J'ai un tableau Excel avec des CheckBox que je coche en fonction des cas.

J'ai créé la macro suivante :

Sub Caseàcocher_Cliquer()

If CaseàcocherB23 = vrai Then result = InputBox("Veuillez entrer la date :")

Range("K22").Value = result

End Sub

Lorsque je clique sur ma case à cocher (ex : CaseàcocherB23) sur ma feuille Excel, une popup s'ouvre, je saisi une date par exemple 02/05/2025 qui ensuite est récupérée en cellule K22.

Mon problème est que dès lors où le n° du jour ne dépasse pas 12, Excel m'inverse les jours et les mois, ce qui est problématique car cela fausse ensuite mes autres cellules Excel qui ont besoin de cette même date dans le bon sens.

Je pense que le problème vient du fait que pour la Macro, le format retenu est le format anglais mm/dd/yyyy. Je ne vois pas où le modifier sur Visual Basic.

Je ne suis pas en UseForm.

Avez-vous une idée car je cherche et tente des choses depuis plusieurs jours mais en vain... je désespère.

Merci pour votre aide

Bonjour,

Et si tu essaies ceci ?

Sub Caseàcocher_Cliquer()
Dim result

If CaseàcocherB23 = vrai Then result = InputBox("Veuillez entrer la date :")

If result = "" Then Exit Sub
If IsDate(result) Then Range("K22").Value = CDate(result)
End Sub

Bonjour,

Merci beaucoup, c'est parfait. J'aurais dû poster mon message avant !

Tout marche nickel.

Bonne journée et merci encore

Tu n'en as peut-être pas encore conscience, mais tout ce temps passé à chercher t'a permis de comprendre certaines choses l'air de rien. Et petit à petit, ça viendra plus naturellement.

Oui c'est justement pour cette raison que je m'acharne à chercher, tester... pour essayer de mieux comprendre et ne pas céder à la faciliter de demander immédiatement sans réfléchir !

J'ai d'autres petites choses sur lesquelles je coince, notamment :

- est-il possible de désactiver des cases à cocher si telle case est cochée, par exemple, ma case à cacher en D8, si je la coche, elle doit me désactiver la possibilité de cocher les case par exemple D9, D10 ... B15, B16...

Merci pour votre soutien. J'apprends tous les jours et je trouve ça sympa de se creuser la tête car on en retire une certaine fierté lorsqu'on obtient le résultat souhaité (parfois avec de l'aide !)

Par nature, les cases à cocher sont faites pour pouvoir être cochées sans restriction.
Ce dont tu as besoin serait plutôt ce qu'on appelle le bouton radio. Mais c'est moins facile à insérer dans Excel et à gérer.

Tu peux bidouiller malgré tout avec les cases à cocher en faisant par exemple ainsi :

limitation cases a cocher

Bonjour à tous,

Par nature, les cases à cocher sont faites pour pouvoir être cochées sans restriction.
Ce dont tu as besoin serait plutôt ce qu'on appelle le bouton radio. Mais c'est moins facile à insérer dans Excel et à gérer.

Tu peux bidouiller malgré tout avec les cases à cocher en faisant par exemple ainsi :

Je n'y avais jamais pensé, c'est malin pour limiter des réponses à un QCM par exemple ! Top, direction la boite à outils.

Yes,
Le souci c'est que ça ne décoche pas la case déjà cochée. Il faudrait passer par du VBA pour ça.

M'enfin ça dépanne déjà bien et le côté no code est beaucoup plus pratique pour l'envoi du fichier à des tierces personnes.

Bonjour 21Formatic,

Merci pour cette vidéo. C'est une très bonne solution pour ce que je souhaite faire.

Je voudrais la tester sur mon fichier mais n'arrive pas à lire la formule que tu écris. Pourrais-tu me la noter?

Merci pour ton aide et bonne journée

Hello,
=nb.si(tes cellules séparées par des ; si elles ne se touchent pas ; vrai())<=1

Bonjour,

Merci pour la formule. Je vais tenter de l'adapter à mes besoins.

Bonne journée

Bonjour 21Formatic,

Je reviens vers toi pour mes cases à cocher.

Je viens de créer rapidement un fichier en supprimant les données sensibles concernant ma société.

Pour être tout à fait claire, voici ce que je souhaite.

Je voudrais qu'apparaisse à l'ouverture du fichier uniquement les cases de B6 à B10 et de D6 à D9 et conserver également les colonnes F et H.

Ensuite je voudrais que lorsque je clique sur D6 les cases des rubriques 3, 4, 5, 6, 7 et 8 apparaissent.

Le but est que j'ai des conditions de traitements à mette en place et cela veut dire que si ma condition en D6 (lorsque je coche) est vrai, alors je peux continuer mon traitement et cocher certaines autres cases pour savoir quel est le travail à réaliser. Si je ne coche pas D6, les autres cases des rubriques 3, 4, 5, 6, 7 et 8 ne doivent pas être accessibles ni visibles.

Je voudrais ensuite verrouiller la feuille, que les formules soient invisibles, qu'on ne puisse cliquer nulle par ailleurs que sur mon bouton RESET ou sur les cases à cocher. J'aimerais mais je ne sais pas si cela est possible, que le détail des macros ne soit pas non plus accessible (pour ne pas risque que le fichier soit endommagé) et qu'une fois la 2eme feuille du fichier cachée, personne d'autre que moi puisse y accéder, si cela est possible.

Je bloque totalement sur tout ça.

Une idée?

Merci pour ton aide et belle journée

Bonjour,

Saboh et Jean-Eric t'ont déjà donné des pistes sur ton autre post.

Ce que tu demandes est jouable. Mais c'est un paquet de travail. Mettre les mains dans le foutoir de ce fichier va être très chronophage.

C'est le genre de choses que je fais dans mon activité. Mon banquier m'ayant dit que le bénévolat avait des limites, je ne peux pas aller plus loin que la petite astuce que je t'avais donnée.
Mais je reste à ta disposition pour t'aider dans un autre contexte si tu ne trouves personne ici pour résoudre ton problème.

Bonjour 21Formatic

Je n'ai pas eu de réponse qui convienne à ma problématique, c'est la raison pour laquelle je me suis permise de te contacter.

Je suis navrée de t'avoir dérangée.

J'ai réfléchi un peu plus à ce que je souhaitais faire:

Je voudrais qu'apparaisse à l'ouverture du fichier uniquement 2 boutons radios + et conserver également les colonnes F et H et les têtes de chaque rubrique si cela est trop compliqué de les faire disparaitre..
En fonction de celui que je sélectionne soit, ce sont les cases de B6 à B10 qui apparaissent, soit les cases de D6 à D9.
Si ce sont les cases de D6 à D9 qui apparaissent, je voudrais, qu'en cochant sur D6 les cases des rubriques 3, 4, 5, 6, 7 et 8 apparaissent.

Le but est que j'ai des conditions de traitements à mette en place et cela veut dire que si ma condition en D6 (lorsque je coche) est vrai, alors je peux continuer mon traitement et cocher certaines autres cases pour savoir quel est le travail à réaliser. Si je ne coche pas D6, les autres cases des rubriques 3, 4, 5, 6, 7 et 8 ne doivent pas être accessibles ni visibles.

Voilà pour les précisions et mon nouveau fichier ou j'arrive à supprimer les info de certaines lignes mais pas les cases et c'est ça le problème premier.

J'ai tenté ce code (module 40) mais il ne fonctionne pas :

Private Sub Worksheet_Change()
If Target.Address = "$J$3" Then
If Target.Value = 2 Then
ActiveSheet.Shapes("CaseàcocherB6").Visible = False
Else
ActiveSheet.Shapes("CaseàcocherB6").Visible = True
End If
End If
End Sub

Si quelqu'un passe par là et à une idée pour m'accompagner, je le remercie d'ores et déjà.

A bientôt

Rechercher des sujets similaires à "code vba date yyyy"