comparaison d'une variable avec toutes les composantes d'un vecteur

artz

XLDnaute Nouveau
Bonjour a tous,

J'ai un petit problème lors de l'écriture d'une macro sous excel.

En fait je souhaite, dans l'entête d'une fonction if, comparer une variable "i" avec toute les composantes d'un vecteur "V()".

j'ai essayer ce code (ou les valeurs de n et de i ont peu d'importance pour décrie mon problème):

Dim n As Integer
Dim i As Integer
Dim V(n) as Integer

If i <> V() Then
....
End if

La compilation me renvoi un message d'erreur, ce qui est normale car je compare une variable avec un tableau.

Ce que je veux dire par ce code est: "Si i est different a toute les valeurs du vecteur V() alors..."

Avez vous des solution pour exprimer cette condition sous VBA.

Merci d'avance pour votre aide:).
 

Hippolite

XLDnaute Accro
Re : comparaison d'une variable avec toutes les composantes d'un vecteur

Bonjour à tous,
quelquechose comme
Code:
    Dim Egal As Boolean
    
    Egal = False
    For j = 0 To n
        If V(j) = i Then Egal = True
    Next j

    If Egal = False Then
        ....
    End If
A+
 

artz

XLDnaute Nouveau
Re : comparaison d'une variable avec toutes les composantes d'un vecteur

Merci pour vos réponses,

@carcharodon-carcharias, comme je le déclare dans les quelques lignes que j'ai écrit, les composantes de V() sont des entiers et l'exemple est déjà posé dnas mon poste. Merci quand même de t'être penché sur la question.

@Hippolite, ton code me semble pas mal, je n'avais pas pensé a utiliser des booléen.

Cependant je trouve ca etrange que le langage VB ne propose pas une instruction permettant directement de faire cette manipulation, cela doit arriver quand même assez souvent que l'on veuille comparer une variable avec un les composantes d'un vecteur.

Autre exemple:

Dim i As String
Dim V(3) As String

V(1)= Arthur
V(2)= Maxime
V(3)= Benjamin

i = Quentin

"On voit bien que i ne fait pas parti du vecteur V()"

Grossomodo ce que je veux faire est

If i <> V(1) And i <> V(2) And i <> v(2) then
...
End if

sauf que dans mon cas V() est de dimension n et je ne peux donc pas énumérer tout les possibilités.

Merci de votre aide.
 

Hippolite

XLDnaute Accro
Re : comparaison d'une variable avec toutes les composantes d'un vecteur

Re,
Si tu as un tableau sourcearray en string, tu peux utiliser Tableau = Filter(sourcearray, match[, include[, compare]])
Cette fonction permet de filtrer le contenu d'un tableau à une dimension, ensuite tu vois s'il est vide ou non en testant si UBound(Tableau) est Empty ou non
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 049
Membres
104 012
dernier inscrit
baffyt2