Comment utilise t on la fonction rechercher avec une valeur issue d'un textbox
Le
Alex

Bonjour à tous,
J'ai enregistré avec l'eregitreur une macro la fonction Rechercher,
(Ex 25/01/2010)
Puis de modifier la ligne de commande issue de l'enregistreur de Macro
pour l'adapter à une valeur issue d'une textbox. J'ai donc modifier la
valeur entre guillemenet, ici "25/01/2010" par Me.Textbox.value sans
guillement.
La macro enregistrée :
Cells.Find(What:="25/01/2010", After:=ActiveCell, LookIn:=xlFormulas,
_
LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
La macro modifiée :
Cells.Find(What:=Userform1.Textbox1.Value, After:=ActiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Malheuresement, ça ne fonctionne pas.
Auriez vous la solution ?
Merci par avance de vos réponses
Alex
J'ai enregistré avec l'eregitreur une macro la fonction Rechercher,
(Ex 25/01/2010)
Puis de modifier la ligne de commande issue de l'enregistreur de Macro
pour l'adapter à une valeur issue d'une textbox. J'ai donc modifier la
valeur entre guillemenet, ici "25/01/2010" par Me.Textbox.value sans
guillement.
La macro enregistrée :
Cells.Find(What:="25/01/2010", After:=ActiveCell, LookIn:=xlFormulas,
_
LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
La macro modifiée :
Cells.Find(What:=Userform1.Textbox1.Value, After:=ActiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Malheuresement, ça ne fonctionne pas.
Auriez vous la solution ?
Merci par avance de vos réponses
Alex
Essaie comme ceci
Cells.Find(What:Íate(Me.TextBox1.Value), After........
--
Salutations
JJ
"Alex"
Bonjour à tous,
J'ai enregistré avec l'eregitreur une macro la fonction Rechercher,
(Ex 25/01/2010)
Puis de modifier la ligne de commande issue de l'enregistreur de Macro
pour l'adapter à une valeur issue d'une textbox. J'ai donc modifier la
valeur entre guillemenet, ici "25/01/2010" par Me.Textbox.value sans
guillement.
La macro enregistrée :
Cells.Find(What:="25/01/2010", After:¬tiveCell, LookIn:=xlFormulas,
_
LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
La macro modifiée :
Cells.Find(What:=Userform1.Textbox1.Value, After:¬tiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
Malheuresement, ça ne fonctionne pas.
Auriez vous la solution ?
Merci par avance de vos réponses
Alex
Avec une petite gestion d'erreur
'------------
Private Sub CommandButton1_Click()
Dim MaDate As Object
Set Madate = Cells.Find(What:Íate(Me.TextBox1), After:¬tiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse)
'''*********
If Madate Is Nothing Then
MsgBox "Date non trouvée"
Else
Madate.Activate
End If
'''*********
Unload UserForm1
End Sub
'------------
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj201001/cijW60zWuN.xls
--
Salutations
JJ
"Alex"
Bonjour à tous,
J'ai enregistré avec l'eregitreur une macro la fonction Rechercher,
(Ex 25/01/2010)
Puis de modifier la ligne de commande issue de l'enregistreur de Macro
pour l'adapter à une valeur issue d'une textbox. J'ai donc modifier la
valeur entre guillemenet, ici "25/01/2010" par Me.Textbox.value sans
guillement.
La macro enregistrée :
Cells.Find(What:="25/01/2010", After:¬tiveCell, LookIn:=xlFormulas,
_
LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
La macro modifiée :
Cells.Find(What:=Userform1.Textbox1.Value, After:¬tiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
Malheuresement, ça ne fonctionne pas.
Auriez vous la solution ?
Merci par avance de vos réponses
Alex
Cdt.
Alex
Merci pour ta réponse, cela m'a permis de continuer ma macro.
Peux tu me dire ce qu'il faut mettre à la place de CDate, dans le cas
d'une valeur texte ? ou d'un montant (chiffre) ?
Merci par avance de ta réponse.
Alex
Essaie..
'------------
X = Me.TextBox1
If IsDate(Me.TextBox1) Then X = CDate(Me.TextBox1)
Set MaDate = Cells.Find(What:=x, After......
'------------
--
Salutations
JJ
"Alex"
Bonjour Jacky,
Merci pour ta réponse, cela m'a permis de continuer ma macro.
Peux tu me dire ce qu'il faut mettre à la place de CDate, dans le cas
d'une valeur texte ? ou d'un montant (chiffre) ?
Merci par avance de ta réponse.
Alex
Essaie..
'------------
x = Me.TextBox1
If IsDate(Me.TextBox1) And Len(Me.TextBox1) = 10 Then x = CDate(Me.TextBox1)
Set MaDate = Cells.Find(What:=x, After......
'------------
--
Salutations
JJ
"Alex"
Bonjour Jacky,
Merci pour ta réponse, cela m'a permis de continuer ma macro.
Peux tu me dire ce qu'il faut mettre à la place de CDate, dans le cas
d'une valeur texte ? ou d'un montant (chiffre) ?
Merci par avance de ta réponse.
Alex
d'une valeur texte ? ou d'un montant (chiffre) ?
Pour une valeur texte (String en anglais), utilise CSTR (convertir en
STRING)
Pour un chiffre, utilise CDBL (convertir en DOUBLE)
Mishell
"Alex"
Bonjour Jacky,
Merci pour ta réponse, cela m'a permis de continuer ma macro.
Peux tu me dire ce qu'il faut mettre à la place de CDate, dans le cas
d'une valeur texte ? ou d'un montant (chiffre) ?
Merci par avance de ta réponse.
Alex