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

rechercher une valeur dans un tableau

5 réponses
Avatar
Gadget
Salut à tous.
Y a-t-il un moyen rapide (autrement que de boucler sur les éléments), de
trouver si une valeur est incluse dans un tableau (je n'ai pas besoin de
savoir quel est son index, seulement si la valeur y est stockée). Je connais
la fonction Filter, mais il semble qu'elle ne s'applique qu'au tableaux de
type string.
Y aurait-il une autre fonction que je ne connais pas ?
Merci d'avance.

5 réponses

Avatar
papou
Bonjour
Il y a la méthode Find.
If Not (Worksheets(1).Range("a1:D500").Find _
(2, LookIn:=xlValues, searchorder:=xlByRows)) Is Nothing Then _
MsgBox "Trouvé"

Cordialement
Pascal

"Gadget" a écrit dans le message de news:
48a1968a$0$960$
Salut à tous.
Y a-t-il un moyen rapide (autrement que de boucler sur les éléments), de
trouver si une valeur est incluse dans un tableau (je n'ai pas besoin de
savoir quel est son index, seulement si la valeur y est stockée). Je
connais la fonction Filter, mais il semble qu'elle ne s'applique qu'au
tableaux de type string.
Y aurait-il une autre fonction que je ne connais pas ?
Merci d'avance.



Avatar
Modeste
Bonsour® Gadget avec ferveur ;o))) vous nous disiez :

Y a-t-il un moyen rapide (autrement que de boucler sur les éléments),
de trouver si une valeur est incluse dans un tableau (je n'ai pas
besoin de savoir quel est son index, seulement si la valeur y est
stockée).



Sub Gadget()
Quoi = "xxxxx"
With Worksheets(1).Range("a1:a500")
Set c = .Find(Quoi, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
MsgBox "Trouvé " & Quoi ' & " en " & c.Address, vbinformation
Else
MsgBox "Pas Trouvé " & Quoi, vbquestion
End If
End With
End Sub



--
--
@+
;o)))
Avatar
Gadget
Merci mais je parlais d'un tableau purement VBA, genre Tableau(), pas d'une
plage Excel.
A plus.

"papou" a écrit dans le message
de news: Ov%23rTgI$
Bonjour
Il y a la méthode Find.
If Not (Worksheets(1).Range("a1:D500").Find _
(2, LookIn:=xlValues, searchorder:=xlByRows)) Is Nothing Then _
MsgBox "Trouvé"

Cordialement
Pascal

"Gadget" a écrit dans le message de news:
48a1968a$0$960$
Salut à tous.
Y a-t-il un moyen rapide (autrement que de boucler sur les éléments), de
trouver si une valeur est incluse dans un tableau (je n'ai pas besoin de
savoir quel est son index, seulement si la valeur y est stockée). Je
connais la fonction Filter, mais il semble qu'elle ne s'applique qu'auX
tableaux de type string.
Y aurait-il une autre fonction que je ne connais pas ?
Merci d'avance.







Avatar
JB
Bonjour,

Pour un tableau à 1 dimension:

Dim tbl(1 To 3)
tbl(1) = "aaa"
tbl(2) = "bbb"
tbl(3) = "ccc"
v = "ddd"
If IsError(Application.Match(v, tbl, 0)) Then
MsgBox "inconnu"
Else
MsgBox "existe"
End If

JB
http://boisgontierjacques.free.fr

On 12 août, 16:42, "Gadget" wrote:
Merci mais je parlais d'un tableau purement VBA, genre Tableau(), pas d'u ne
plage Excel.
A plus.

"papou" a écrit dans le mes sage
denews: Ov%23rTgI$IHA.4__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$z



> Bonjour
> Il y a la méthode Find.
> If Not (Worksheets(1).Range("a1:D500").Find _
> (2, LookIn:=xlValues, searchorder:=xlByRows)) Is Nothing Then _
> MsgBox "Trouvé"

> Cordialement
> Pascal

> "Gadget" a écrit dans le message de news:
> 48a1968a$0$960$
>> Salut à tous.
>> Y a-t-il un moyen rapide (autrement que de boucler sur les élément s), de
>> trouver si une valeur est incluse dans un tableau (je n'ai pas besoin de
>> savoir quel est son index, seulement si la valeur y est stockée). Je
>> connais la fonction Filter, mais il semble qu'elle ne s'applique qu'au X
>> tableaux de type string.
>> Y aurait-il une autre fonction que je ne connais pas ?
>> Merci d'avance.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
Gadget
Farpait! Merci.
PS : il semble que cette méthode ne soit pas documentée dans l'aide... C'est
mes yeux ou bien c'est bien le cas ?

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

Bonjour,

Pour un tableau à 1 dimension:

Dim tbl(1 To 3)
tbl(1) = "aaa"
tbl(2) = "bbb"
tbl(3) = "ccc"
v = "ddd"
If IsError(Application.Match(v, tbl, 0)) Then
MsgBox "inconnu"
Else
MsgBox "existe"
End If

JB
http://boisgontierjacques.free.fr

On 12 août, 16:42, "Gadget" wrote:
Merci mais je parlais d'un tableau purement VBA, genre Tableau(), pas
d'une
plage Excel.
A plus.

"papou" a écrit dans le
message
denews:
Ov%23rTgI$IHA.4__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$



> Bonjour
> Il y a la méthode Find.
> If Not (Worksheets(1).Range("a1:D500").Find _
> (2, LookIn:=xlValues, searchorder:=xlByRows)) Is Nothing Then _
> MsgBox "Trouvé"

> Cordialement
> Pascal

> "Gadget" a écrit dans le message de news:
> 48a1968a$0$960$
>> Salut à tous.
>> Y a-t-il un moyen rapide (autrement que de boucler sur les éléments),
>> de
>> trouver si une valeur est incluse dans un tableau (je n'ai pas besoin
>> de
>> savoir quel est son index, seulement si la valeur y est stockée). Je
>> connais la fonction Filter, mais il semble qu'elle ne s'applique qu'auX
>> tableaux de type string.
>> Y aurait-il une autre fonction que je ne connais pas ?
>> Merci d'avance.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -