IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Cellule vide qui semble ne pas etre "VIDE" [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 252
    Points : 125
    Points
    125
    Par défaut Cellule vide qui semble ne pas etre "VIDE"
    Bonjour a tous,

    J’ai une bizarrerie dans un classeur excel que j’aimerais bien comprendre.
    La plage (A1:A3) ne contient a vue d’œil rien mais la formule ISBLANK() en Excel me renvoie False et la barre de statusd’en bas lorsque l’on selectionne la dite plage.
    Encore plus bizarre, en VBA j’obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (Rien), TRue, True sur la ligne 1.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub CelluleVide()
     
        Dim wb As Workbook
        Dim ws As Worksheet
        Dim rng As Range, c As Range
     
        Set wb = Application.ThisWorkbook
        Set ws = wb.Worksheets("Sheet1")
        Set rng = ws.Range("a1:a5")
     
        For Each c In rng
            c.Select
    1        Debug.Print c.Value, c.Value = "", c.Value = vbNullString 'renvoie "Rien", TRUE, TRUE partout.
        Next c
    End Sub
    Alors, svp aidez-moi a comprendre ce qui ne va pas.
    Fichiers attachés Fichiers attachés

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    C'est normal parce que tes 3 premières cellules contiennent des espaces!

    Si je reprends ton code en le modifiant légèrement,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        For Each c In rng
            c.Select
            c = Trim(c)
        Next c
    Les isblank renvoient bien vrai.

  3. #3
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 652
    Points : 34 355
    Points
    34 355
    Par défaut
    Salut,

    je crois avoir lu que la fonction Isblank dans Excel correspondrait plus à IsEmpty dans VBA.

    Exemple de code récupéré dans l'infini Internet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub TestBlanks()
    Dim cl As Range
    '   this will work    
    If [AND(ISBLANK(A1:A10))] Then MsgBox "All Empty"
    '   and this will not
        Set cl = [A1:A10]
        If IsEmpty(cl) Then MsgBox "All Empty"
    '   and this of course works
        Set cl = [A1]    
    If IsEmpty(cl) Then MsgBox cl.Address & " Empty"
    End Sub
    Voir si ca fait avancer ton schmilblick

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 252
    Points : 125
    Points
    125
    Par défaut
    merci pour vos reponses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Thread] interrupt qui semble ne pas fonctionner
    Par Balbuzard dans le forum Concurrence et multi-thread
    Réponses: 2
    Dernier message: 05/09/2008, 11h17
  2. lien pour une table qui ne doit pas etre public
    Par raslain dans le forum Oracle
    Réponses: 1
    Dernier message: 12/12/2005, 13h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo