[VBA] Excel

poulain35 -  
 poulain35 -
Bonjour,

J'ai une colonne où il y a des nombres de 1 à 65 grâce a ces nombres j'écris des données dans leur ligne avec :

If Clients.Cells(ligne, 22).Value = "65" Then 
    Clients.Cells(ligne, 30).Value = "test" 
    Clients.Cells(ligne, 31).Value = "test"
End If


mais si par exemple dans la colonne j'ai un nombre supérieur à 65 j'aimerai qu'il m'affiche un MsgBox.

Pour le moment je rempli juste la case 30 par "Erreur" j'ai :

    If Clients.Cells(ligne, 22).Value > "65" Then 
    Clients.Cells(ligne, 30).Value = "Erreur"
End If


Mais quand je regarde dans mon tableau plus haut, je m'aperçois qu'aux nombres 7, 8, 9 j'ai sur leur ligne à la case 30 écrit "erreur" je ne vois pas pourquoi, quelqu'un aurai une idée s'il vous plait ...

3 réponses

chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Bonjour,

tu n'est pas la seule à faire l'erreur que tu as commis. Tu as mis des guillemets autour de ton 65, qui est donc dans ce cas considéré comme une chaîne de caractères, pas comme un chiffre.

Il compare donc un chiffre à une chaîne. Donc il regarde si ton chiffres est plus grand que le 1er caractère, sinon il compare au 2e et ainsi de suite...

Sans guillemet, ça ira mieux.

Cordialement.
0
poulain35
 
Aaaaaa merci beaucoup !!!
0
chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Mais de rien, c'est une erreur souvent présente, que je faisais également quand j'étais jeune programmeur VBA ^^
0
poulain35
 
Encore deux petite question ^^, quand il y a des caractères il me met automatiquement "Erreur", c'est pour la 1ere ligne de mon tableau.

Et puis le problème est qu'il me fait l'erreur pour chaque ligne, car j'ai un " next ligne " alors que j'aimerai qu'il m'indique l'erreur qu'un seul fois.
0