Problème avec le nombre de 'or' dans une condition if

Résolu
Signaler
Messages postés
201
Date d'inscription
mercredi 1 décembre 2004
Statut
Membre
Dernière intervention
13 août 2005
-
Messages postés
201
Date d'inscription
mercredi 1 décembre 2004
Statut
Membre
Dernière intervention
13 août 2005
-
bonjour,

je suis en VBA et j'ai un problème sur une condition if. voici cette condition:
if (Range(PlaneNumberColumn + CStr(Row)).Value = Plane Or _ Range(PlaneNumberColumn + CStr(Row)).Value Plane + "*" Or Plane "") then

avec cette condition je choisis les lignes d'un tableau excel qui comporte le numero d'avion choisi par le user, ou le numero d'avion choisi par le user avec en plus une * à la fin (dans ce tableau, les num d'avion peuvent avoir une étoile à la fin) ou n'importe quelle ligne du tableau si le choix du user ne porte pas sur le num d'avion.

le problème est le suivant:
si le num d'avion choisi par le user correspond à un num d'avion dans le tableau, mais que dans ce tableau, ce numéro a en plus une étoile à la fin, et bien la ligne du tableau n'est pas choisie alors qu'elle doit l'être... je ne sais pourquoi...

est ce le nombre de 'or' qui gènela condition?

merci de m'éclairer sur ce point...

Daydayerement Vôtre

3 réponses

Messages postés
201
Date d'inscription
mercredi 1 décembre 2004
Statut
Membre
Dernière intervention
13 août 2005

j'ai trouvé en fait, il suffit de convertir en string le chiifre donnée par le user par: cstr(PlaneNumber.Value).

Je pensais que cela était fait automatiquement étant donné que la textbox dans laquelle le user entre le chiffre à chercher renvoie une var de type string... ou alors me trompe-je?

Daydayerement Vôtre
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
1467
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
5 mai 2010
4
Moi, perso, j'écrirais :
If Range(PlaneNumberColumn + CStr(Row)).Value Plane or Range(PlaneNumberColumn + CStr(Row)).Value Plane & "*" or Plane = "" Then

Vpoilà ya pa bcp de différences koi mais essaye....
Messages postés
1467
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
5 mai 2010
4
Sinon, je pense quil est possible que l'erreur est une autre origine, est-ce que tu peux me donner ta fonction entière ?