Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

8 réponses
Avatar
Alex
Bonjour =E0 tous,

J'ai enregistr=E9 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 =E0 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=E9e :

Cells.Find(What:=3D"25/01/2010", After:=3DActiveCell, LookIn:=3DxlFormulas,
_
LookAt:=3DxlPart, SearchOrder:=3DxlByRows,
SearchDirection:=3DxlNext, _
MatchCase:=3DFalse, SearchFormat:=3DFalse).Activate

La macro modifi=E9e :

Cells.Find(What:=3DUserform1.Textbox1.Value, After:=3DActiveCell,
LookIn:=3DxlFormulas, _
LookAt:=3DxlPart, SearchOrder:=3DxlByRows,
SearchDirection:=3DxlNext, _
MatchCase:=3DFalse, SearchFormat:=3DFalse).Activate

Malheuresement, =E7a ne fonctionne pas.

Auriez vous la solution ?

Merci par avance de vos r=E9ponses
Alex

8 réponses

Avatar
Jacky
Bonsoir,

Essaie comme ceci
Cells.Find(What:Íate(Me.TextBox1.Value), After........

--
Salutations
JJ


"Alex" a écrit dans le message de news:

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
Avatar
Jacky
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" a écrit dans le message de news:

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
Avatar
Alex
Merci Jacky, je vais essayer.
Cdt.
Alex
Avatar
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
Avatar
Jacky
Re..
Essaie..
'------------
X = Me.TextBox1
If IsDate(Me.TextBox1) Then X = CDate(Me.TextBox1)
Set MaDate = Cells.Find(What:=x, After......
'------------

--
Salutations
JJ


"Alex" a écrit dans le message de news:

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
Avatar
Jacky
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" a écrit dans le message de news:

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
Avatar
Mishell
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" a écrit dans le message de news:

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
Avatar
Alex
Merci Mishell