Vérifier dans une procédure si un résultat est égal à certaines valeurs

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 !

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

Dans une procédure je voudrais savoir si le résultat d'un calcul est égal ou pas à une valeur d'une série prédéterminée (a,b,c,d,e,f).

J'ai tenté de la manière suivante :

serie=Array(a,b,c,d,e,f)

'le résultat du calcul est x

If x=serie Then ...

Bon, ça n'a absolument pas marché.
Où me suis-je planté ?

Merci de m'éclairer.
 
Re : Vérifier dans une procédure si un résultat est égal à certaines valeurs

Bonjour Magic_Doctor,
Bonjour à toutes et à tous.

La jointure d'un exemple avec le résultat à prévoir, nous permmetra de connaitre le problème d'une part et de vous apporter une aide d'autre part.

A vous lire et bon courage.

Cordialement.

Bcharef.
 
Dernière édition:
Re : Vérifier dans une procédure si un résultat est égal à certaines valeurs

Bonjour Magic Doctor,

serie est un tableau, x ne l'est pas, voilà...

Pour savoir si x est dans serie, utiliser la fonction Match (EQUIV) :

Code:
Dim serie()
'----------
If IsNumeric(Application.Match(x, serie, 0)) Then
'-----------

Edit : salut bcharef 🙂

A+
 
Dernière édition:
Re : Vérifier dans une procédure si un résultat est égal à certaines valeurs

Salut,

il te faut parcourir le tableau. Un exemple d'utilisation :
Code:
Sub test()
  serie = Array(5, 1, 3, 3, 4, 6, 0)
  'le premier indice d'un tableau est [B]0[/B] par défaut
  'voir Option Base 1 pour commencer à 1)
  For x = [B]0[/B] To UBound(serie)
    If x = serie(x) Then MsgBox x
  Next
End Sub
 
Re : Vérifier dans une procédure si un résultat est égal à certaines valeurs

Merci Job et Fo_rum de m'avoir répondu.

J'ai donc compris ma confusion entre Array et x, et essayé ta solution, mais curieusement ça ne fonctionne toujours pas quelle que soit la solution proposée.
Peut-être le hic est-il dans les éléments de l'Array (tableau) qui ne sont pas ou mal reconnus car étant en fait des dates...

Ci-joint un exemple.
 

Pièces jointes

Re : Vérifier dans une procédure si un résultat est égal à certaines valeurs

Re,

D'après ce que j'ai vu (pas étudié longtemps ta macro...), ton tableau serie est composé de "dates" sous forme de texte.

Il faut donc que x soit aussi un texte.

Si c'est un nombre (les dates dans les cellules sont des nombres entiers), il faut d'abord le mettre au bon format :

Code:
x = Format(date, "dd/mm/yyyy")

Sinon, autre solution, transformer les éléments de serie en nombres en utilisant CDate.

A toi de jouer 🙂

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
1
Affichages
1 K
Retour