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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacky
Le #21050151
Bonsoir,

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
Jacky
Le #21050331
Re...
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
Alex
Le #21051091
Merci Jacky, je vais essayer.
Cdt.
Alex
Alex
Le #21053071
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
Jacky
Le #21053501
Re..
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
Jacky
Le #21053731
Re..
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
Mishell
Le #21058701
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) ?

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
Alex
Publicité
Poster une réponse
Anonyme