erreur de type dans une comparaison de variables

erreur de type dans une comparaison de variables - VB/VBA/VBS - Programmation

Marsh Posté le 12-07-2004 à 10:31:15    

Bonjour,
Je pense que j'ai une erreur dans ma comparaison puisque les types de variables ne sont pas identiques.
J'ai array qui est un Variant et max qui est un Long.
Pourtant quand le 1er est inférieur au second je rentre qd même dans la boucle.
Si quelqu'un pouvait m'aider. Merci.

Code :
  1. For ii = 0 To UBound(nodeb_array)
  2.     Sheets("Main Menu" ).Range("D8" ) = array(ii)
  3.     Sheets("Main Menu" ).Range("D9" ) = max
  4.     If array(ii) > max Then
  5.         MsgBox "n° " & array(ii) & " does not exist. Please try again.", 96
  6.         Exit Sub
  7.     End If
  8. Next ii

Reply

Marsh Posté le 12-07-2004 à 10:31:15   

Reply

Marsh Posté le 12-07-2004 à 13:35:18    

Code :
  1. Sheets("Main Menu" ).Range("D9" ) = max
  2. For ii = 0 To UBound(nodeb_array)
  3.     Sheets("Main Menu" ).Range("D8" ) = array(ii)
  4.     If CLng(array(ii)) > max Then
  5.         MsgBox "n° " & array(ii) & " does not exist. Please try again.", 96
  6.         Exit Sub
  7.     End If
  8. Next ii

D'abord, tu peux sortir l'affectation de max de la boucle. Inutile de faire cette operation x fois. Ensuite, tu peux utiliser CLng pour convertir en long.

Reply

Marsh Posté le 12-07-2004 à 13:53:07    

Ok je ne connaissais pas CLng ... ca marche désormais.
Merci JiHemAir

Reply

Marsh Posté le 13-07-2004 à 17:08:58    

Tant mieux si ça marche mais, sauf erreur de copier/coller de ta part, je me demande bien comment.
 
Quand je vois "UBound(nodeb_array)"
puis  
"Sheets("Main Menu" ).Range("D8" ) = array(ii)"
sachant que array est un mot réservé en VBA, je ne peux que croire à une erreur quelquepart.
 
 
Maintenant si tu confirmes que ça marche, tout est pour le mieux.
 
ps: je peux aussi être très fatigué (besoin vacances)


Message édité par tegu le 13-07-2004 à 17:10:35
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed