Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2409 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Tester un entier vide (isEmpty, isNull)?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Tester un entier vide (isEmpty, isNull)?

n°1989014
Jeetiz
Posté le 30-04-2010 à 11:19:26  profilanswer
 

Salutatous,
 
Je bug sur un truc qui me parait pourtant pas bien compliqué: Tester si une cellule est vide sachant que ma variable est un entier!
 
Exemple:
Je récupère dans une variable, les notes contenues dans A2:A11, si la cellule est vide, j'affiche une msgbox, mais aucun de mes tests ne fonctionnent
 

Code :
  1. Sub macro1()
  2. Dim note As Integer
  3. For i = 1 To 10
  4. note = Range("A1" ).Offset(i).Value
  5.        
  6. If note = "" Then MsgBox ("cellule vide" )
  7.            
  8. If IsEmpty(note) Then MsgBox ("cellule vide" )
  9.        
  10. If IsNull(note) Then MsgBox ("cellule vide" )
  11. next i
  12. End Sub


 
Si vous avez un indice, merci d'avance!

mood
Publicité
Posté le 30-04-2010 à 11:19:26  profilanswer
 

n°1989054
SuppotDeSa​Tante
Aka dje69r
Posté le 30-04-2010 à 12:36:37  profilanswer
 

Tu ne peux pas mettre dans un entier une chaine...
C'est le ba-ba ca...
 
S'il n'y a rien dans une cellule, Excel renvoit : ""
Rien, mais dans une chaine (string)
 
Et tu ne peux pas mettre une chaine dans une vraible entier...
 
Il faut donc tester au prealable si la chaine n'est pas egale a ""
Convertir ta chaine en entier (CInt())
Et l'affecter a ta variable...
 

Code :
  1. if Range("A1" ).Offset(i).Value <>"" then


 
Toi tu affecters d'abord une valeur chaine a note qui est de type entier, pour tester ensuite si ta variable note de type entier contient une chaine...  :pt1cable:


Message édité par SuppotDeSaTante le 30-04-2010 à 12:40:29

---------------
Soyez malin, louez entre voisins !
n°1989088
Jeetiz
Posté le 30-04-2010 à 13:51:37  profilanswer
 

Yeap, merci de ta réponse.
 
Effectivement le problème est qu'Excel renvoie "" et pas Null ou Vide.
 
J'ai pensé à une solution plus simple du coup (que convertir la chaine), c'est de faire le test directement sur la cellule et non la variable.
 
Par exemple:
if Isempty(Range("A1" ).Offset(i)) Then


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Tester un entier vide (isEmpty, isNull)?

 

Sujets relatifs
Comment savoir si dans un tab dechar il y a des entier et des reel ?[RESOLU] mysqldump, php et dump vide :(
Afficher enregistrements champ date même si vide ?Remplir un tableau associatif vide au départ (et puis l'afficher)
réceptionnaire d'évenement pour tester en tache de fond une entréeVariable vide après un LEFT JOIN malgré une requête ok
GridBagLayout : La taille d'un composant prend tout le videtester site sous ie 32 et 64 bits w7 alsacreations marche po
pb insertion champ vide dans BDD via formulaire (PHP/SQL) [Résolu]Tester du code big endian
Plus de sujets relatifs à : Tester un entier vide (isEmpty, isNull)?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR