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

  • Initiateur de la discussion Initiateur de la discussion artz
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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🙂.
 
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+
 
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.
 
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+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
1 K
Retour