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 :

Ecrire True et non VRAI dans une cellule


Sujet :

Macros et VBA Excel

  1. #21
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    Oui mais c'est bien la qu'est mon problème! Si le lui dit d’écrire une valeur booléen il écrit VRAI/FAUX, d'ou le Cint(MaVariableBooleen).
    Dans le fichier que je t'ai joint j'ai mis le format personnalisé en C3 et la ligne de code du bouton test est seulement :
    Et j'ai bien TRUE et FALSE en C3 que ce soit sur 2003 ou 2010.

    eric

  2. #22
    Invité
    Invité(e)
    Par défaut Bonjour,
    je voie pas le problème de traiter les true en string le test ce fait de la même manière!

    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
    16
    17
    Sub Test()
        Range("A1", "C1").Clear
        Range("A1", "C1").NumberFormat = "General"
     
        Dim ValeurD As Double
        ValeurD = 2.56
        Cells(1, 1).Value = ValeurD             'Affiche 2,56 et non 2.56
     
        Dim ValeurB As String
        ValeurB = "True"
        'Cells(1, 3).NumberFormat = "@"   'Ne change rien
        Cells(1, 2).Value = "'" & ValeurB            'Affiche VRAI
     
        Cells(1, 3).NumberFormat = "@"    'Obligatoir sinon la valeur de la cellule est "VRAI"
        If ValeurB = "True" Then Cells(1, 3).Value = "'True" Else Cells(1, 3).Value = "'False"
     
    End Sub

  3. #23
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mars 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 34
    Par défaut
    Bonsoir,
    Je vais finir par connaitre toutes les manières d’écrire un booléen dans une cellule....
    rdurupt: je voie pas le problème de traiter les true en string le test ce fait de la même manière!
    Sur les booléen je me complique surement la vie. Mais tant qu'il y a du répondant je me dis que j'ai des choses à apprendre...

    Par contre eric dans ton code, la valeur de la cellule C3 est soit 0 soit -1, donc effectivement ton format marche. Mais si tu ecrit VRAI ou FAUX directement(ce qu'il se passe si tu affectes un booléen a cette cellule) il utilise le type "General", et la bascule se fait entre VRAI et FAUX.
    Goulven

  4. #24
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Par contre eric dans ton code, la valeur de la cellule C3 est soit 0 soit -1, donc effectivement ton format marche. Mais si tu ecrit VRAI ou FAUX directement(ce qu'il se passe si tu affectes un booléen a cette cellule)
    Pas d'accord.
    [C3] = Not [C3] retourne un booléen au même titre que [C3] = (x>5) ou [C3] = TRUE

    eric

  5. #25
    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 176
    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 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Quelque chose m'échappe dans cette discussion.
    Est-ce juste pour le fait d'avoir le texte True ou False en anglais (je crois que c'est depuis longtemps résolu) ou bien est-ce un souci de traitement de booléen entre Excel et VBA. Parce-que c'est totalement transparent que l'on traite la valeur avecExcel ou avec VBA
    Exemple Sur la feuille dont le CodeName est Feuil1
    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
    16
    17
    18
    19
    20
    21
    22
    Sub TestBoolean()
     Dim rng As Range, r As Long, Cel As Range
     Set rng = Feuil1.Range("A2:A26") ' Plage de la feuille 1
     With rng ' Insertion de valeurs aléatoires entre 10 et 99
     .Formula = "=RANDBETWEEN(10,99)": .Value = .Value
     .Offset(, 1).Formula = "=A2>50" ' Formule Booléenne avec Excel en colonne B
     End With
     For Each Cel In rng
      With Cel
      ' Ecriture du résultat de la formule Booléenne avec Vba dans la cellule Excel en colonne C
      .Offset(, 2) = Cel > 50
      End With
     Next
     ' Mise en couleur de la 2ème et troisième colonne
     For Each Cel In rng
      With Cel
      ' Ecriture du résultat de la formule Booléenne avec Vba dans la cellule Excel
      If .Offset(, 1) Then .Offset(, 1).Font.Color = vbBlue ' Caractère bleu si True/Vrai dans la 2ème colonne
      If .Offset(, 2) = False Then .Offset(, 2).Font.Color = vbRed '  Caractère rouge si False/Faux dans la 3ème colonne
      End With
     Next
    End Sub
    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

  6. #26
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Oui, ça tourne en rond depuis un moment.
    Pour moi sa question était :
    En vba je veux des résultats booléens dans des cellules avec TRUE et FALSE d'affiché pour les exports CSV, mais que ça reste numérique car plus simple pour les réutiliser sur la feuille (?).

    Philippe ton exemple me gène un peu (façon de parler). Effectivement j'avais pris un exemple trop particulier et tiré une conclusion erronée.
    Gougoxor a donc raison également.
    Donc mauvaise piste, désolé Gougoxor. A part mettre -1 et 0 dans la cellule et modifier l'affichage avec un format personnalisé je ne vois pas. Dans la mesure où je n'ai pas trop extrapolé et que mettre directement "TRUE"/"FALSE" ne te suffise pas (comme le propose rdurupt, ce qui serait plus simple ).
    A Gouxosor de faire le point.

    eric

  7. #27
    Invité
    Invité(e)
    Par défaut
    Personnelement je persiste tu peux tester avec la valeur True and "True" et remplacer la valeur True par "'True" et ton code fonctionne pareil!

  8. #28
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mars 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 34
    Par défaut
    Je suis d'accord avec vous deux, cela tourne en rond. Pour finir, effectivement le principale pour moi et d'afficher True/False et nom VRAI/FAUX et j'ai eu de nombreuses solutions pour y arriver, mais aussi d'avoir une variable booléen dans mon code qui puisse me servir a réaliser des tests.
    C'est pourquoi la solution de passer par un String ne répond par exactement à ma question puisque si dans une macro je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(1, 1).Value = True
    Cela affiche VRAI et non True. Mais pour y remédier de nombreuses solutions ont été proposé.

    Merci a vous deux.
    Goulven

  9. #29
    Invité
    Invité(e)
    Par défaut
    Pour mois la seule solution est de revoir l'export csv en faisant un replace des true/false par la methode append fichier fso ou autre
    Fichiers attachés Fichiers attachés
    Dernière modification par Invité ; 18/07/2014 à 10h28.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Ecrire et retour à la ligne dans une cellule JTable
    Par CostaInf dans le forum Composants
    Réponses: 2
    Dernier message: 30/05/2012, 10h05
  2. Ecrire en gras dans une cellule
    Par ouardia dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/07/2007, 12h05
  3. Ecrire dans une cellule en VBA
    Par ade94 dans le forum VBA Access
    Réponses: 1
    Dernier message: 04/07/2007, 17h15
  4. [VBA-E] Ecrire dans une cellule sans écraser son contenu
    Par skystef dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/02/2007, 15h43
  5. Réponses: 4
    Dernier message: 15/04/2005, 15h25

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