Dans une macro j'utilise le code suivant pour la recherche
=3D=3D=3D=3D=3D
ref1 =3D InputBox("Entrer le nom =E0 rechercher ")
If ref1 =3D "" Then
Exit Sub
Else =20
Set cell1 =3D ActiveSheet.Columns.Find(what:=3Dref1,=20
LookIn:=3DxlValues, LookAt:=3D _
xlPart, SearchOrder:=3DxlByColumns,=20
SearchDirection:=3DxlNext, MatchCase:=3D _
False)
End if
=3D=3D=3D=3D=3D=3D=3D
Le probl=E8me est que l'utilisateur ne connais pas=20
l'=E9criture exact du nom. Ex: le nom aurait pu etre =E9crit=20
C. Dupont ou C Dupont ou C.Dupont.=20
Ce que je veux mettre dans la recherche=20
c'est "contient 'Dupont'" donc rentrer juste Dupont
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
D.LAIR
Bonjour, Il faut alors que ref1 soit égal à DUPONT : - soit on teste après saisie qu'il n'y a pas d'espace ou de point (en gros un seul mot) et on supprime ce qui est en trop, ou on repose la question en cas de doute... Pour utiliser le "find", je ne crois pas qu'on puisse faire autrement. DL
-----Message d'origine----- Bonjour
Dans une macro j'utilise le code suivant pour la recherche ===== ref1 = InputBox("Entrer le nom à rechercher ") If ref1 = "" Then Exit Sub Else Set cell1 = ActiveSheet.Columns.Find(what:=ref1, LookIn:=xlValues, LookAt:= _ xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _ False)
End if ======= Le problème est que l'utilisateur ne connais pas l'écriture exact du nom. Ex: le nom aurait pu etre écrit C. Dupont ou C Dupont ou C.Dupont. Ce que je veux mettre dans la recherche c'est "contient 'Dupont'" donc rentrer juste Dupont
Merci d'avance pour une idée
Mazava .
Bonjour,
Il faut alors que ref1 soit égal à DUPONT :
- soit on teste après saisie qu'il n'y a pas d'espace ou
de point (en gros un seul mot) et on supprime ce qui est
en trop, ou on repose la question en cas de doute...
Pour utiliser le "find", je ne crois pas qu'on puisse
faire autrement.
DL
-----Message d'origine-----
Bonjour
Dans une macro j'utilise le code suivant pour la recherche
=====
ref1 = InputBox("Entrer le nom à rechercher ")
If ref1 = "" Then
Exit Sub
Else
Set cell1 = ActiveSheet.Columns.Find(what:=ref1,
LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByColumns,
SearchDirection:=xlNext, MatchCase:= _
False)
End if
=======
Le problème est que l'utilisateur ne connais pas
l'écriture exact du nom. Ex: le nom aurait pu etre écrit
C. Dupont ou C Dupont ou C.Dupont.
Ce que je veux mettre dans la recherche
c'est "contient 'Dupont'" donc rentrer juste Dupont
Bonjour, Il faut alors que ref1 soit égal à DUPONT : - soit on teste après saisie qu'il n'y a pas d'espace ou de point (en gros un seul mot) et on supprime ce qui est en trop, ou on repose la question en cas de doute... Pour utiliser le "find", je ne crois pas qu'on puisse faire autrement. DL
-----Message d'origine----- Bonjour
Dans une macro j'utilise le code suivant pour la recherche ===== ref1 = InputBox("Entrer le nom à rechercher ") If ref1 = "" Then Exit Sub Else Set cell1 = ActiveSheet.Columns.Find(what:=ref1, LookIn:=xlValues, LookAt:= _ xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _ False)
End if ======= Le problème est que l'utilisateur ne connais pas l'écriture exact du nom. Ex: le nom aurait pu etre écrit C. Dupont ou C Dupont ou C.Dupont. Ce que je veux mettre dans la recherche c'est "contient 'Dupont'" donc rentrer juste Dupont
Merci d'avance pour une idée
Mazava .
Jean-François Aubert
Salut Mazava,
Tu peux intégrer dans le Find des caractères de substitution
Sub yy() ref1 = InputBox("Entrer le nom à rechercher ") If ref1 = "" Then Exit Sub Else ref1 = "*" & ref1 Set cell1 = ActiveSheet.Columns.Find(what:=ref1, _ LookIn:=xlValues, LookAt:= _ xlPart, SearchOrder:=xlByColumns, _ SearchDirection:=xlNext, MatchCase:= _ False)
End If End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Mazava" a écrit dans le message de news:0b1601c3c62e$015838a0$ Bonjour
Dans une macro j'utilise le code suivant pour la recherche ==== ref1 = InputBox("Entrer le nom à rechercher ") If ref1 = "" Then Exit Sub Else Set cell1 = ActiveSheet.Columns.Find(what:=ref1, LookIn:=xlValues, LookAt:= _ xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _ False)
End if ====== Le problème est que l'utilisateur ne connais pas l'écriture exact du nom. Ex: le nom aurait pu etre écrit C. Dupont ou C Dupont ou C.Dupont. Ce que je veux mettre dans la recherche c'est "contient 'Dupont'" donc rentrer juste Dupont
Merci d'avance pour une idée
Mazava
Salut Mazava,
Tu peux intégrer dans le Find des caractères de substitution
Sub yy()
ref1 = InputBox("Entrer le nom à rechercher ")
If ref1 = "" Then
Exit Sub
Else
ref1 = "*" & ref1
Set cell1 = ActiveSheet.Columns.Find(what:=ref1, _
LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, MatchCase:= _
False)
End If
End Sub
--
Amicalement
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"Mazava" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:0b1601c3c62e$015838a0$a101280a@phx.gbl...
Bonjour
Dans une macro j'utilise le code suivant pour la recherche
==== ref1 = InputBox("Entrer le nom à rechercher ")
If ref1 = "" Then
Exit Sub
Else
Set cell1 = ActiveSheet.Columns.Find(what:=ref1,
LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByColumns,
SearchDirection:=xlNext, MatchCase:= _
False)
End if
====== Le problème est que l'utilisateur ne connais pas
l'écriture exact du nom. Ex: le nom aurait pu etre écrit
C. Dupont ou C Dupont ou C.Dupont.
Ce que je veux mettre dans la recherche
c'est "contient 'Dupont'" donc rentrer juste Dupont
Tu peux intégrer dans le Find des caractères de substitution
Sub yy() ref1 = InputBox("Entrer le nom à rechercher ") If ref1 = "" Then Exit Sub Else ref1 = "*" & ref1 Set cell1 = ActiveSheet.Columns.Find(what:=ref1, _ LookIn:=xlValues, LookAt:= _ xlPart, SearchOrder:=xlByColumns, _ SearchDirection:=xlNext, MatchCase:= _ False)
End If End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Mazava" a écrit dans le message de news:0b1601c3c62e$015838a0$ Bonjour
Dans une macro j'utilise le code suivant pour la recherche ==== ref1 = InputBox("Entrer le nom à rechercher ") If ref1 = "" Then Exit Sub Else Set cell1 = ActiveSheet.Columns.Find(what:=ref1, LookIn:=xlValues, LookAt:= _ xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _ False)
End if ====== Le problème est que l'utilisateur ne connais pas l'écriture exact du nom. Ex: le nom aurait pu etre écrit C. Dupont ou C Dupont ou C.Dupont. Ce que je veux mettre dans la recherche c'est "contient 'Dupont'" donc rentrer juste Dupont