Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Résolu Autre problème, la transformation de "false" en "FAUX" automatiquement.

jeff1494

XLDnaute Occasionnel
Message édité car erreur dans le titre, désolé.
Bonjour à toutes et tous;
Je viens encore vers vous car je rencontre un problème lors de l'exécution du code suivant :
VB:
Private Sub valdef(Valeurcellule As String)
                                                                   ' Col B = Valeur défaut
                    Worksheets("Resref").Select
                    Range("B" & Ligref).Select                                                                 ' Ligref indique le N° de ligne traitée
                    ' Mise en forme de la valeur          
                    Range("B" & Ligref).Value = Trim(Valeurcellule)                                            ' Supprime les espaces en début de cellule
                    Range("B" & Ligref).Value = Replace(Range("B" & Ligref), "default_value", "")              ' Remplace le texte default_value par rien, donc le supprime
                    Range("B" & Ligref).Value = Replace(Range("B" & Ligref), """", "")                         ' Remplace les " par rien, donc les supprime
                    Range("B" & Ligref).Value = Replace(Range("B" & Ligref), ": ", "")                         ' Remplace le : par rien, donc les supprime
                    Range("B" & Ligref).Value = Replace(Range("B" & Ligref), ",", "")                          ' Remplace la , par rien donc supprime la ,
                    Range("B:B").HorizontalAlignment = xlCenter                                                ' On centre les données dans la colonne
                    Worksheets(1).Select

End Sub

Le paramètre passé en argument de la procédure soit Valeurcellule contient le string suivant : "default_value": false, . Le but de la procédure est de faire le ménage, à savoir d'arriver à ne garder que la valeur "false". Or j'ai un changement de contenu qui s'opère avant le centrage de la colonne. Je passe de la valeur false à la valeur VRAI. Alors je pense que bien sûr false est un mot réservé, mais pourtant je dois garder la valeur false dans ma cellule, et cela pour des comparaisons futures.

Quelqu'un aurait-il un moyen pour me sortir de ce problème?

D'avance je vous remercie pour votre aide, et vous souhaite une bonne soirée à toutes et tous.
 
Dernière édition:

Paf

XLDnaute Barbatruc
Bonjour,

après essai le résultat n'est pas false mais FAUX chez moi , pas réussi à obtenir VRAI

est ce que ça pourrait venir de la sub principale ??

Avec le classeur complet ce serait plus aisé ...

une autre solution possible, en supposant que Ligref est une variable globale :

VB:
If Valeurcellule Like "*false*" Then Range(("B" & Ligref).Value = "false"


A+
 

jeff1494

XLDnaute Occasionnel
OUPS je viens de réaliser que j'ai fait une erreur de frappe. Si j'ai false j'obtiens FAUX et si j'ai True j'obtiens VRAI.
J'espère que vous voudrez bien m'excuser.Je vais dans la soirée préparer un fichier extrait car l'original contient plus de 7500 lignes, et je devrais donner quelques explication car mes macros se lancent via un ruban personnalisé.
 

Paf

XLDnaute Barbatruc
alors c'est différent , pour Excel false = FAUX et true = VRAI

essayer en modifiant cette ligne

VB:
Range("B" & Ligref).Value = Replace(Range("B" & Ligref), ",", "")

en rajoutant un apostrophe entre guillemets "'" :

VB:
Range("B" & Ligref).Value = "'" & Replace(Range("B" & Ligref), ",", "")
 

Discussions similaires

  • Question
Microsoft 365 Code VBA
Réponses
10
Affichages
750
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…