Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

convertir une chaine en booléen

6 réponses
Avatar
Serge Nazarian
Bonjour,

Tout ce passe dans un procédure vba excel.
J'ai une variable cond qui contient une chaîne de caractère, par
exemple
cond = RACINE(4)=L22C10

J'aimerai pouvoir écrire
If cond Then <instruction>

Je n'ai rien de bon avec l'instruction de conversion CBool.

Merci pour toute aide.
Cordialement,

--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu

6 réponses

Avatar
isabelle
bonjour,

cond = Evaluate("SQRT(4)=J22")

--
isabelle



Le 2012-05-21 06:55, Serge Nazarian a écrit :
Bonjour,

Tout ce passe dans un procédure vba excel.
J'ai une variable cond qui contient une chaîne de caractère, par exemple
cond = RACINE(4)=L22C10

J'aimerai pouvoir écrire
If cond Then <instruction>

Je n'ai rien de bon avec l'instruction de conversion CBool.

Merci pour toute aide.
Cordialement,

Avatar
Serge Nazarian
isabelle a écrit le 21/05/2012 :
bonjour,

cond = Evaluate("SQRT(4)=J22")

--
isabelle



Le 2012-05-21 06:55, Serge Nazarian a écrit :
Bonjour,

Tout ce passe dans un procédure vba excel.
J'ai une variable cond qui contient une chaîne de caractère, par exemple
cond = RACINE(4)=L22C10

J'aimerai pouvoir écrire
If cond Then <instruction>

Je n'ai rien de bon avec l'instruction de conversion CBool.

Merci pour toute aide.
Cordialement,





Merci pour cette réponse qui ne me satisfait pas cependant.
La faute m'en revient car je me suis sans doute mal exprimé. Je
voudrais une procédure comme celle ci-dessous :
*******
Sub essai()
cond = "RACINE(4)=L22C10"
If cond Then
MsgBox "VRAI"
Else
MsgBox "FAUX"
End If
End Sub
*******

Cordialement.

--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Avatar
Jacquouille
Bonjour
Je crois qu'il va te falloir réécrire ta condition.
Tu poses l'affirmation : cond = RACINE(4)=L22C10
Que Isa la Belle a modifiée comme ceci :
cond = Evaluate("SQRT(4)=J22")

Ensuite, tu dis :
If cond Then <instruction>

C'est quoi, qui doit être (ou non) égal à la racine de J22 ?

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Serge Nazarian" a écrit dans le message de groupe de discussion :
4fbb3dfa$0$1693$

isabelle a écrit le 21/05/2012 :
bonjour,

cond = Evaluate("SQRT(4)=J22")

--
isabelle



Le 2012-05-21 06:55, Serge Nazarian a écrit :
Bonjour,

Tout ce passe dans un procédure vba excel.
J'ai une variable cond qui contient une chaîne de caractère, par exemple
cond = RACINE(4)=L22C10

J'aimerai pouvoir écrire
If cond Then <instruction>

Je n'ai rien de bon avec l'instruction de conversion CBool.

Merci pour toute aide.
Cordialement,





Merci pour cette réponse qui ne me satisfait pas cependant.
La faute m'en revient car je me suis sans doute mal exprimé. Je
voudrais une procédure comme celle ci-dessous :
*******
Sub essai()
cond = "RACINE(4)=L22C10"
If cond Then
MsgBox "VRAI"
Else
MsgBox "FAUX"
End If
End Sub
*******

Cordialement.

--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Avatar
Serge Nazarian
Jacquouille a écrit le 22/05/2012 :
Bonjour
Je crois qu'il va te falloir réécrire ta condition.
Tu poses l'affirmation : cond = RACINE(4)=L22C10
Que Isa la Belle a modifiée comme ceci :
cond = Evaluate("SQRT(4)=J22")

Ensuite, tu dis :
If cond Then <instruction>

C'est quoi, qui doit être (ou non) égal à la racine de J22 ?

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Serge Nazarian" a écrit dans le message de groupe de discussion :
4fbb3dfa$0$1693$




Le problème est résolu.
Il faut mettre
cond = "SQRT(4)=R22C10"
ou
Cond = Evaluate("SQRT(4)=$J$22")

selon que l'on travaille en références L1C1 ou références "classiques".

La procédure est donc :
*************
Sub essai()
Dim Cond As Boolean
Cond = Evaluate("SQRT(4)=R22C10")
'Cond = Evaluate("SQRT(4)=$J$22")
If Cond Then
MsgBox "Vrai"
Else
MsgBox "Faux"
End If
End Sub
*************

Le nouveau problème est le passage automatique de
=RACINE(4)=L22C10 à =SQRT(4)=R22C10
ou de
=RACINE(4)=$J$22 à =SQRT(4)=$J$22

Voir la nouvelle discussion : traduire excel de français en anglais

--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Avatar
Jacquouille
Re
Tant mieux si ton prob est résolu.
Ce qui n'empêche que je ne comprends toujours pas......ce qui doit être égal
à cond....

Cond = Evaluate("SQRT(4)=R22C10")
If Cond Then

Mais si tu y trouves ton bonheur ....


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Serge Nazarian" a écrit dans le message de groupe de discussion :
4fbb7919$0$1721$

Jacquouille a écrit le 22/05/2012 :
Bonjour
Je crois qu'il va te falloir réécrire ta condition.
Tu poses l'affirmation : cond = RACINE(4)=L22C10
Que Isa la Belle a modifiée comme ceci :
cond = Evaluate("SQRT(4)=J22")

Ensuite, tu dis :
If cond Then <instruction>

C'est quoi, qui doit être (ou non) égal à la racine de J22 ?

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Serge Nazarian" a écrit dans le message de groupe de discussion :
4fbb3dfa$0$1693$




Le problème est résolu.
Il faut mettre
cond = "SQRT(4)=R22C10"
ou
Cond = Evaluate("SQRT(4)=$J$22")

selon que l'on travaille en références L1C1 ou références "classiques".

La procédure est donc :
*************
Sub essai()
Dim Cond As Boolean
Cond = Evaluate("SQRT(4)=R22C10")
'Cond = Evaluate("SQRT(4)=$J$22")
If Cond Then
MsgBox "Vrai"
Else
MsgBox "Faux"
End If
End Sub
*************

Le nouveau problème est le passage automatique de
=RACINE(4)=L22C10 à =SQRT(4)=R22C10
ou de
=RACINE(4)=$J$22 à =SQRT(4)=$J$22

Voir la nouvelle discussion : traduire excel de français en anglais

--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Avatar
MichD
Bonjour,

| Ce qui n'empêche que je ne comprends toujours pas......
| ce qui doit être égal à cond....

| Cond = Evaluate("SQRT(4)=R22C10")

Si cette section de l'équation Evaluate("SQRT(4)=R22C10") est vrai
Cond prend la valeur Vrai et vice-versa.

Cond ne prend pas une autre valeur que Vrai ou Faux.