[Incompatibilité de type] If...or...or....

egeiL Messages postés 7 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 12 mai 2011 - 5 janv. 2010 à 16:24
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 5 janv. 2010 à 19:22
Problème avec les conditions d'un « If »

Voici la partie du code qui pose problème
If Cells(lignedata, 1) = "M20" Then
If Cells(lignedata, 2) = "20" or "P11" Or "P18" Then
nprévent = nprévent + 1
Else...

Jai une erreur "incompatibilité de type" sauf quand la cellule(lignedata,2) est égale à 20. Dans tout les autres cas que ce soit un nombre (autre que 20) ou une suite lettre/nombre ca plante...

j'ai donc essayé de séparer les conditions

If Cells(lignedata, 1) = "M20" Then
If Cells(lignedata, 2) = "20" Then
nprévent = nprévent + 1
ElseIf Cells(lignedata, 2) = "P11" Or "P18" Then
nprévent = nprévent+ 1
Else...

Pas de miracle, ca ne marche pas mieux...

1 réponse

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
5 janv. 2010 à 19:22
Il faut une évaluation derriere le 'Or'.

Lire une seule fois la valeur d'une cellule car c'est lourd en traitement.

str2 = CStr(Cells(lignedata, 2).value)
If str2 "20" or str2 "P11" Or str2 = "P18" Then



ciao...
BruNews, MVP VC++
0
Rejoignez-nous