[Déplacé .Net --> VBA encore et encore et encore et encore et encore] Faire une

andy331 Messages postés 45 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 11 juin 2010 - 5 févr. 2010 à 15:53
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 5 févr. 2010 à 19:09
Bonjour à tous!

j'ai besoin d'aider quelqu'un dire me dire si vous plait comment faire lorsque j'ai texteBox dans laquelle je rentre une date du style 28/01/2010 et j'aimerais que nombre de jours sois pas supérieur a 31 et le mois sois pas supérieur à 12 si quelqu'un vois ce que je veux dire je en VBA sous access merci!

9 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
5 févr. 2010 à 17:21
Re
Prends la peine de te relire, stp, tes phrases ne veulent rien dire.
Tu prends ton courage à deux mains et tu tapes "textbox date" dans la recherche parmi les codes en .NET et tu auras des exemples.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
5 févr. 2010 à 17:22
Ah, VBA !
Alors pourquoi ne pas choisir tout de suite la bonne catégorie ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
5 févr. 2010 à 17:44
Bonjour,
En plus :
1) tu as eu aujourd'hui un exemple d'utilisation de IsDate pour vérifier la validité d'une date
...
2)
et j'aimerais que nombre de jours sois pas supérieur a 31

Et cela te "couvrira" ? Tiens donc !.... n'existent (entre autres) ni le 29/02/2015, ni le 31/04 de n'importe quelle année ! (et pourtant, tant 29 que 31 sont dans ta "fourchette")
Utilise donc IsDate (et encore ... faire gaffe car VBA te transformera à l'aise et sans rien dénoncer un "01/13/2000" en "13/01/2000" ...)

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
5 févr. 2010 à 18:18
Regarde où il a fallu déplacer ta discussion :
1)
Visual Basic 6 > Langages dérivés > VBA

C'est LA que tu aurais dû l'ouvrir (quand vas-tu t'y mettre enfin ?)
2) Voilà une ébauche de ce que tu peux faire. Elle implique que l'utilisateur doit saisir sous la forme "jj/mm/aaaa" ou "J/m/aa" ... etc... pourvu que le jour soit les 1er, le mois le 2ème et l'année le 3ème et qu'ils soient séparés par un "/"
Ceci, donc, devrait être un bon garde-fou :
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
 pos = InStr(TextBox1.Text, "/")
 If Not IsDate(TextBox1.Text) Or pos = 0 Then
    If pos = 0 Then
      MsgBox "saisir sous la forme jj/mm/aaaa (en séparant par le signe /"
    Else
      MsgBox "date invalide"
    End If
    TextBox1.SelStart 0: TextBox1.SelLength Len(TextBox1.Text)
    Cancel = True: Exit Sub
 End If
 If Val(Mid(TextBox1.Text, pos + 1)) > 12 Then
   Beep
   MsgBox "le mois " & Val(Mid(TextBox1.Text, pos + 1)) & " n'existe pas"
    TextBox1.SelStart = pos
    TextBox1.SelLength = 2
    Cancel = True
 End If
End Sub


Ceci étant dit ; tu te donnes bien du mal pour rien ! l'utilisation d'un contrôle tel DTPicker t'économiserait toute cette énergie !
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
andy331 Messages postés 45 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 11 juin 2010
5 févr. 2010 à 18:49
Mais programmé sous accesc'est pas du VBA normalement ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
5 févr. 2010 à 18:53
Bien évidemment que c'est du VBA !
Et ni du VB.Net, ni du VB6
du VBA (Visual Basic for Applications) >> Applications ? celles de Microsoft Office >> Access = application Microsoft Office !

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
5 févr. 2010 à 18:55
http://fr.wikipedia.org/wiki/VBA


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
andy331 Messages postés 45 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 11 juin 2010
5 févr. 2010 à 19:05
C'était juste pour comprendre pourquoi ma question à été déplacé a moins que j'ai mise en VB.Net pas marque d'inattention!!

Alors je suis désolé de vous donner plus de travail!!
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
5 févr. 2010 à 19:09
Mais.... c'est vers VBA (depuis VB.Net où tu l'avais mise, toi) qu'elle a dû être déplacée, comme toutes les autres !
Il te suffit de lire :
[Déplacé .Net --> VBA encore et encore et encore et encore et encore]

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Rejoignez-nous