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 :

Detecter si cellule booleen [XL-2000]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2006
    Messages : 156
    Par défaut Detecter si cellule booleen
    Bonjour à tous,

    je cherche un moyen de savoir si une cellule contient une valeur booleen sur VBA/Excel.
    En effet, le programme peut être utilisé par plusieurs pays, donc les valeurs "vrai" ou "faux" ne sont pas valides.

    J'ai cherché sur le net, et il n'y a pas de fonction type "is boolean"

    Enfin, je dois utiliser la fonction Cells(1,3) au lieu du range à cause de boucles..

    Merci d'avance pour vos réponses, je suis sûr qu'il y a un moyen tout bête, mais le dieu tout puissant Google n'a pas donné de solution

    Nicolas

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Que veux-tu dire par Booléen dans une cellule Excel , car cela n'existe pas comme on pourrait le dire d'un champ d'une base Access.

    Philippe

  3. #3
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2006
    Messages : 156
    Par défaut
    C'est un texte qui contient "VRAI" ou "FAUX"
    Si on ouvre ce même document en anglais, ça change à "TRUE" et "FALSE"
    Bref, il doit y avoir une logique interne excel qui traduit en fonction de la langue.

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Est ce que cette fonction t'irait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Function Isboolean(Rg As Range)
    On Error Resume Next
     
    If IsError((CBool(Rg.Value))) Then
        Isboolean = False
    Else
        Isboolean = True
    End If
     
    End Function

  5. #5
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2006
    Messages : 156
    Par défaut
    Merci Jérôme,

    malheureusement non, car la fonction retourne Vrai si la cellule contient un "8"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Function Isboolean(Rg As String)
    On Error Resume Next
     
    If IsError((CBool(Rg))) Then
        Isboolean = False
    Else
        Isboolean = True
    End If
     
    End Function
    Remarque: j'utilise pas Range mais cells


  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Citation Envoyé par Nico820 Voir le message
    C'est un texte qui contient "VRAI" ou "FAUX"
    Si on ouvre ce même document en anglais, ça change à "TRUE" et "FALSE"
    Bref, il doit y avoir une logique interne excel qui traduit en fonction de la langue.
    Il faudrait éclaircir ce point.

    Je pense plus à un code inclus dans le fichier qui ferait la transformation.

    Philippe

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    As-tu essayé ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Application.WorksheetFunction.IsLogical(Range("B4"))
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  8. #8
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Et pourquoi ne pas adapter le code proposé pour traiter le cas des valeurs numériques ???

  9. #9
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 86
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Par défaut
    Bonjour,

    Le booléen c'est du binaire 0 ou 1
    Ainsi si on écrit VRAI dans une cellule A1 par exemple
    Si j'écrit en B1
    =A1*1 j'ai en réponse 1

    Avec FAUX j'aurais 0
    Donc un test pour vérifier le si le contenu d'une cellule est VRAI ou TRUE ou ...
    donnerait toujours 1 ou 0 si FAUX si cela donne autre chose c'est que ce n'est pas booléen me semble-t-il.
    Donc en VBA on peut également tester cela de la même manière.

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

Discussions similaires

  1. Detecter Cellules Vides
    Par nouvelinscrit dans le forum VBA Word
    Réponses: 7
    Dernier message: 17/06/2010, 16h45
  2. Detecter un chiffre en début d'une cellule texte
    Par Jibi64 dans le forum Excel
    Réponses: 2
    Dernier message: 08/08/2008, 09h19
  3. Réponses: 3
    Dernier message: 08/11/2007, 12h04
  4. Detection d'un texte ou d'une couleur sur 2 cellules
    Par benjiprog dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/07/2007, 14h50
  5. detection de cellules grâce à la couleur du texte
    Par destructive dans le forum Général JavaScript
    Réponses: 29
    Dernier message: 11/05/2007, 15h23

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