VBA TEXTBOX et date

davidme

XLDnaute Nouveau
Bonjour à tous,

J'ai un souci qui me laisse bien perplexe depuis quelques jours, en effet j'insère une date dans une textbox, celle ci est récupérer dans une cellule excel ( mise au format date désiré au préalable). Jusqu'ici rien de bien méchant, par suite j'utilise cette date pour faire le tri dans un tableau => OK cela fonctionne.

Là ou cela devient étrange c'est qu'ensuite je souhaite utilisé cette date dans un filtre avancée où la date est un des critères :

exemple : Sheets("vox").Range(Cells(1, 1), Cells(lig, 9)).AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("FILTRE").Range("A1:D2"), _
CopyToRange:=Sheets("PRO").Range("A4:H4"), _
Unique:=False


Et là rien ne fonctionne...pourtant mon filtre fonctionne correctement car si je rentre ma date en manuelle dans la cellule recevant la TEXTBOX cela fonctionne mais dès que je passe par la TEXTBOX mon filtre ne me renvoi rien. D'ailleurs étrangement il me note dans la cellule en question que ma date est à 2 chiffres (et cela lui semble étrange) alors que c'est bien ce que je demande comme format.


Auriez vous une idée?

merci pour vos retours
 

davidme

XLDnaute Nouveau
Re : VBA TEXTBOX et date

Bonjour

Merci pour ce retour, par contre je ne comprends pas où je dois insérer ce code, j'ai actuellement pour ma TEXTBOX le code suivant :

Private Sub TextBox4_Change()
Sheets("oie").Cells(2, 11).Value = TextBox4.Value
End Sub

dois je remplacer cette ligne par le code donné ou l'ajouter ?

merci par avance
 

Paritec

XLDnaute Barbatruc
Re : VBA TEXTBOX et date

Re Davidme le forum
sur un change c'est pas bon, il faut que tu renvoies une date et lorsque tu commences à taper dans ta textbox tu as un bout de date ou alors un test avec :

Code:
Private Sub TextBox4_Change()
if isdate(textbox4) then Sheets("oie").Cells(2, 11).Value = cdate(TextBox4)
End Sub[CODE]

a+
Papou:)
 

Paritec

XLDnaute Barbatruc
Re : VBA TEXTBOX et date

Re Davidme le forum
bah c'est simple et je l'ai écrit dans la réponse d'avant, quand tu commences à taper dans le textbox, si tu veux 12/02/2016
tu tapes d’abord 1 puis après 12 etc etc et comme tu es sur un événement change de ton textbox, c'est sur que 1 puis 12 c'est pas une date donc si on teste pas cela plantera à coup sur
a+
Papou:)

PS: essaye pour te convaincre et tu vas comprendre:
Code:
Private Sub TextBox4_Change()
Sheets("oie").Cells(2, 11).Value = cdate(TextBox4)
End Sub[CODE]
 

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote