Bloquer un format Date VBA
Fermé
webtomm
-
1 juin 2010 à 10:52
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 3 juin 2010 à 17:59
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 3 juin 2010 à 17:59
A voir également:
- Bloquer un format Date VBA
- Telecharger format factory - Télécharger - Conversion & Codecs
- Format epub - Guide
- Format dat - Guide
- Bloquer pub youtube - Guide
- Format apfs - Guide
7 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
1 juin 2010 à 12:28
1 juin 2010 à 12:28
Bonjour,
à adapter à ton appli
à adapter à ton appli
If TextBox1.Value Like "##[/]##[/]####" Then Exit Sub On Error GoTo Fin Application.EnableEvents = False MsgBox "Format non conforme." TextBox1 = "" Fin: Application.EnableEvents = True
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 686
Modifié par gbinforme le 1/06/2010 à 22:25
Modifié par gbinforme le 1/06/2010 à 22:25
bonjour webtomm,
Si tu avais regardé le code de Michel que je salue, tu aurais écrit :
et cela aurait parfaitement fonctionné !
PS : obliger les utilisateurs à saisir 01/02/2009 alors que 1/2/9 abouti au même résultat, cela me parait passible de harcèlement informatique... ou d'incompétence.
Toujours zen
Si tu avais regardé le code de Michel que je salue, tu aurais écrit :
If not datedebutdamortissementcc.Value like "##[/]##[/]####" Then
et cela aurait parfaitement fonctionné !
PS : obliger les utilisateurs à saisir 01/02/2009 alors que 1/2/9 abouti au même résultat, cela me parait passible de harcèlement informatique... ou d'incompétence.
Toujours zen
Salut!!
Merci gbinforme,
mais je comprends pas pk ca ne fonctionne tjr pas...
j'ai écrit ce code:
If Not datedebutdamortissementcc.Value Like "##[/]##[/]####" Then Exit Sub
On Error GoTo Fin
Application.EnableEvents = False
MsgBox "Format non conforme."
datedebutdamortissementcc = ""
Fin:
Application.EnableEvents = True
et ca me met un blocage a ce niveau là:
Worksheets("Echéancier Capital Constant").Range("D12").Value = CDate(Me.datedebutdamortissementcc)
Je n'aurais pas un prob de format par hasard??
Merci pr votre aide!!
Merci gbinforme,
mais je comprends pas pk ca ne fonctionne tjr pas...
j'ai écrit ce code:
If Not datedebutdamortissementcc.Value Like "##[/]##[/]####" Then Exit Sub
On Error GoTo Fin
Application.EnableEvents = False
MsgBox "Format non conforme."
datedebutdamortissementcc = ""
Fin:
Application.EnableEvents = True
et ca me met un blocage a ce niveau là:
Worksheets("Echéancier Capital Constant").Range("D12").Value = CDate(Me.datedebutdamortissementcc)
Je n'aurais pas un prob de format par hasard??
Merci pr votre aide!!
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
2 juin 2010 à 10:10
2 juin 2010 à 10:10
bonjour,
essaies ce test
mais comme l'a dit fort justement gbinforme (bonjour, ca va ?), il est "sadique " de forcer l'utilisateur au format 12/09/2010 alors que 12/9/10 fonctionne très bien
essaies ce test
If Not datedebutdamortissementcc.Value Like "##[/]##[/]####" Then MsgBox "Format non conforme." datedebutdamortissementcc = "" End If
mais comme l'a dit fort justement gbinforme (bonjour, ca va ?), il est "sadique " de forcer l'utilisateur au format 12/09/2010 alors que 12/9/10 fonctionne très bien
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 686
2 juin 2010 à 10:09
2 juin 2010 à 10:09
bonjour
Nous avons changé d'interlocuteur ?
C'est un peu n'importe quoi comme ce que tu écrits car maintenant tu mets le message d'erreur lorsque la saisie est bonne !
Forcément si la saisie est incorrecte, la valeur déclarée bonne est incorrecte...
Nous avons changé d'interlocuteur ?
C'est un peu n'importe quoi comme ce que tu écrits car maintenant tu mets le message d'erreur lorsque la saisie est bonne !
Forcément si la saisie est incorrecte, la valeur déclarée bonne est incorrecte...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
nan c'est tjr moi !
Merci j'ai essayé ton test mais a chaque fois le blocage vient de là:
Worksheets("Echéancier Capital Constant").Range("D12").Value = CDate(Me.datedebutdamortissementcc)
qd je transforme la ca valeur en format date...
je comrpends pas pk (il faut dire que je débute à peine...)
Je sais c'est un peu sadique mais ca va etre utilisé par bcp de monde et je veux etre sur qu'il rentre la date d'une certaine facon, av les /.... sinon tout le reste plante...
nan c'est tjr moi !
Merci j'ai essayé ton test mais a chaque fois le blocage vient de là:
Worksheets("Echéancier Capital Constant").Range("D12").Value = CDate(Me.datedebutdamortissementcc)
qd je transforme la ca valeur en format date...
je comrpends pas pk (il faut dire que je débute à peine...)
Je sais c'est un peu sadique mais ca va etre utilisé par bcp de monde et je veux etre sur qu'il rentre la date d'une certaine facon, av les /.... sinon tout le reste plante...
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 686
2 juin 2010 à 19:04
2 juin 2010 à 19:04
bonjour
je veux etre sur qu'il rentre la date d'une certaine facon, av les /.... sinon tout le reste plant
Depuis quand les "/" sont obligatoires dans une date excel ?
Que tu saisisses 2/6/10 ou 2-6-10 ou 02/06/2010 excel te fournira la bonne valeur.
Quand on débute il ne faut pas partir en prenant des prémices fausses. Que tu veuilles sécuriser la saisie c'est bien et nécessaire mais pour cela il suffit de vérifier que ce qui est saisi est une date sans obliger les utilisateurs (qui ne sont pas tous incultes et inaptes s'ils ne sont pas informaticiens) à utiliser un format qui ne présente aucun intérêt particulier. En prenant des initiatives formalistes inutiles c'est la meilleure façon des braquer les utilisateurs et ils risquent aussi, pour te faire voir qu'ils ne méritent pas de tels blocages, de te trouver beaucoup plus facilement les bugs que tu auras oublié de corriger et là c'est toi qui sera bien planté !
En facilitant le travail des utilisateurs, on améliore bien plus la vie de l'entreprise que lorsque l'on essaie de les brider par tous les moyens : il faut avoir un peu plus de psychologie ! Je peux t'écrire un livre si tu veux avec tous les apports que l'on peut obtenir des utilisateurs en les écoutant un tant soit peu.
Maintenant c'est toi qui décide et c'est toi qui subira les conséquences donc tu fais bien comme tu veux, Michel t'a donné la formule qui fonctionne parfaitement et nous n'avons aucune idée de la façon où tu arrives ensuite au positionnement d'une cellule : c'est sans doute là ton problème.
je veux etre sur qu'il rentre la date d'une certaine facon, av les /.... sinon tout le reste plant
Depuis quand les "/" sont obligatoires dans une date excel ?
Que tu saisisses 2/6/10 ou 2-6-10 ou 02/06/2010 excel te fournira la bonne valeur.
Quand on débute il ne faut pas partir en prenant des prémices fausses. Que tu veuilles sécuriser la saisie c'est bien et nécessaire mais pour cela il suffit de vérifier que ce qui est saisi est une date sans obliger les utilisateurs (qui ne sont pas tous incultes et inaptes s'ils ne sont pas informaticiens) à utiliser un format qui ne présente aucun intérêt particulier. En prenant des initiatives formalistes inutiles c'est la meilleure façon des braquer les utilisateurs et ils risquent aussi, pour te faire voir qu'ils ne méritent pas de tels blocages, de te trouver beaucoup plus facilement les bugs que tu auras oublié de corriger et là c'est toi qui sera bien planté !
En facilitant le travail des utilisateurs, on améliore bien plus la vie de l'entreprise que lorsque l'on essaie de les brider par tous les moyens : il faut avoir un peu plus de psychologie ! Je peux t'écrire un livre si tu veux avec tous les apports que l'on peut obtenir des utilisateurs en les écoutant un tant soit peu.
Maintenant c'est toi qui décide et c'est toi qui subira les conséquences donc tu fais bien comme tu veux, Michel t'a donné la formule qui fonctionne parfaitement et nous n'avons aucune idée de la façon où tu arrives ensuite au positionnement d'une cellule : c'est sans doute là ton problème.
Bonjour,
effectivement je ne savais pas que tu pouvais entrer la date sous différents formats. je ne vais dc pas la bloquer.
Merci pour ces infos en tout cas.
Et efefctivement je ne prétends pas connaitre et bcp pourront me donner des conseils sachant que j'ai ouvert VBE pour la premiere fois il y a deux semaines....
effectivement je ne savais pas que tu pouvais entrer la date sous différents formats. je ne vais dc pas la bloquer.
Merci pour ces infos en tout cas.
Et efefctivement je ne prétends pas connaitre et bcp pourront me donner des conseils sachant que j'ai ouvert VBE pour la premiere fois il y a deux semaines....
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
3 juin 2010 à 11:20
3 juin 2010 à 11:20
très bon commentaire de gbinforme: je t'accorde, cher gb, 1 vote +
:-)
:-)
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 686
3 juin 2010 à 17:49
3 juin 2010 à 17:49
Merci Michel mais comme tu peux le voir cela crée un peu la panique dans l'affichage de cette discussion :
- ton message réponds maintenant à foo ou webtomm
- cet ajout qui voulait s'adresser à Michel est en fait pour foo
Si quelqu'un arrive à suivre la conversation il a toutes mes félicitations !
- ton message réponds maintenant à foo ou webtomm
- cet ajout qui voulait s'adresser à Michel est en fait pour foo
Si quelqu'un arrive à suivre la conversation il a toutes mes félicitations !
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
3 juin 2010 à 17:59
3 juin 2010 à 17:59
bin oui, mais c'est un peu le B...., ce nouveau forum avec 2 options de réponses... si je te répondais, ce n'était pas dans l'ordre chronologique et je répond dans l'ordre chronologique, je ne répond pas à la personne que je veux
Et comme il ne sert à rien de faire une remarque ou suggestion sur ce site...
Et comme il ne sert à rien de faire une remarque ou suggestion sur ce site...
1 juin 2010 à 13:41
1 juin 2010 à 15:32
pour l'instant je mets ca comme ceci:
If datedebutdamortissementcc.Value <> "##[/]##[/]####" Then
MsgBox "Vous devez entrer une date de début d'amortissement conforme au format indiqué"
Me.datedebutdamortissementcc.SetFocus
Exit Sub
End If
J'ai essayé av ton code mais je n'arrive pas à l'écrire correctement....
1 juin 2010 à 17:17