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

utilisation de find

3 réponses
Avatar
Le Nordiste
Bonjour tertous,

J'utilise FIND dans le code ci dessous pour d=E9tecter les occurences
d'un entier intValCherche

'=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
Dim intValCherche As Integer
intValCherche =3D 5

With Worksheets("brouillon").Range("a4:a20")

Set c =3D .Find(What:=3DintValCherche, LookIn:=3DxlValues)
If Not c Is Nothing Then
firstAddress =3D c.Address
Do
'MARQUER LA LIGNE
c.EntireRow.Select
With Selection.Font
.Strikethrough =3D True
.FontStyle =3D "Italique"
.Size =3D 6
End With
Set c =3D .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With

'=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
ce code me d=E9tecte 5 mais aussi 15, 25, 35......
Comment se limiter =E0 la valeur de l'entier ?


Remerciements anticip=E9s,

3 réponses

Avatar
Le Nordiste
AUTO REPONSE
la solution est dans le xlWhole

Set c = .Find(What:=intValCherche, LookIn:=xlValues,
LookAt:=xlWhole)

prendre du recul en posant le probléme par écrit permet parfois de
solutionner celui ci,
même aprés avoir parcouru les fils traitant du sujet.

Merci tertous et bon WE
Avatar
Le Nordiste
AUTO REPONSE
la solution est dans le xlWhole

Set c = .Find(What:=intValCherche, LookIn:=xlValues,
LookAt:=xlWhole)

prendre du recul en posant le probléme par écrit permet parfois de
solutionner celui ci,
même aprés avoir parcouru les fils traitant du sujet.

Merci tertous et bon WE
Avatar
papou
Bonjour
Il faut ajouter le paramètre Lookat :
Set c = .Find(What:=intValCherche, LookIn:=xlValues,Lookat:=xlwhole)

Cordialement
Pascal

"Le Nordiste" a écrit dans le message de
news:
Bonjour tertous,

J'utilise FIND dans le code ci dessous pour détecter les occurences
d'un entier intValCherche

'======================== Dim intValCherche As Integer
intValCherche = 5

With Worksheets("brouillon").Range("a4:a20")

Set c = .Find(What:=intValCherche, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
'MARQUER LA LIGNE
c.EntireRow.Select
With Selection.Font
.Strikethrough = True
.FontStyle = "Italique"
.Size = 6
End With
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With

'======================== ce code me détecte 5 mais aussi 15, 25, 35......
Comment se limiter à la valeur de l'entier ?


Remerciements anticipés,