convertir une chaine en booléen

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #24494681
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,

Serge Nazarian
Le #24497051
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
Jacquouille
Le #24497561
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
Serge Nazarian
Le #24497751
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
Jacquouille
Le #24497781
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
MichD
Le #24497961
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.
Publicité
Poster une réponse
Anonyme