Une découverte importante ou peu?

Le
Fredo P
Bonsoir
Lors du contrôle d'une colonne de noms de personnes par la ligne de commande
suivante,
If InStr(c, "Blond") And InStr(c, "Franck") Then
c = "F. Blondeau"
End If
Si sur la cellule est inscrit "Blondo. Franck": InStr(c, "Blond") =1 et
InStr(c, "Franck") =9: Ok, malgré ces 2 valeurs positives, légalité n'est
pas reconnue a cause de l'existence du point"."

Ce un truc connu ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #16769611
Bonsoir.
Je pense que tu n'as pas défini c; deux syntaxes possibles :

Dim c As Range
If InStr(c, "Blond") And InStr(c, "Franck") Then
c = "F. Blondeau"
End If

ou

If InStr(c, "Blond") And InStr(c, "Franck") Then
c.Value = "F. Blondeau"
End If

Cordialement.
Daniel
"Fredo P" message de news: %
Bonsoir
Lors du contrôle d'une colonne de noms de personnes par la ligne de
commande suivante,
If InStr(c, "Blond") And InStr(c, "Franck") Then
c = "F. Blondeau"
End If
Si sur la cellule est inscrit "Blondo. Franck": InStr(c, "Blond") =1 et
InStr(c, "Franck") =9: Ok, malgré ces 2 valeurs positives, légalité n'est
pas reconnue a cause de l'existence du point"."

Ce un truc connu ?



Modeste
Le #16769701
Bonsour® Fredo P avec ferveur ;o))) vous nous disiez :
Lors du contrôle d'une colonne de noms de personnes par la ligne de
commande suivante,
If InStr(c, "Blond") And InStr(c, "Franck") Then
c = "F. Blondeau"
End If
Si sur la cellule est inscrit "Blondo. Franck": InStr(c, "Blond") =1
et InStr(c, "Franck") =9: Ok, malgré ces 2 valeurs positives,
légalité n'est pas reconnue a cause de l'existence du point"."

Ce un truc connu ?



If (InStr(c, "Blond")>0) And (InStr(c, "Franck")>0) Then c = "F. Blondeau"

le AND ne s'applique qu'a des valeurs booléennes, binaires ou hexadécimales




--
--
@+
;o)))
Daniel.C
Le #16769801
Bonsoir, Modeste.
Je serais un peu mois catégorique; je ne me rappelle plus où, j'ai lu que la
valeur 0 (ici, non trouvé) équivaut à "false", c'est connu, mais que toute
autre valeur positive est assimilée à "true", ce qui semble être le cas,
ici.
Cordialement.
Daniel
"Modeste"
Bonsour® Fredo P avec ferveur ;o))) vous nous disiez :
Lors du contrôle d'une colonne de noms de personnes par la ligne de
commande suivante,
If InStr(c, "Blond") And InStr(c, "Franck") Then
c = "F. Blondeau"
End If
Si sur la cellule est inscrit "Blondo. Franck": InStr(c, "Blond") =1
et InStr(c, "Franck") =9: Ok, malgré ces 2 valeurs positives,
légalité n'est pas reconnue a cause de l'existence du point"."

Ce un truc connu ?



If (InStr(c, "Blond")>0) And (InStr(c, "Franck")>0) Then c = "F. Blondeau"

le AND ne s'applique qu'a des valeurs booléennes, binaires ou hexadécimales




--
--
@+
;o)))
Fredo P
Le #16769941
Si vous utiliser Xl97 , (je n'ai plus xl2007) ,faites l'essai
L'existence du "." situé aprés Blondo est lhic du truc car quand je le
supprime manuellement l'égalité est reconnue et bien exécutée.

"Daniel.C"
Bonsoir, Modeste.
Je serais un peu mois catégorique; je ne me rappelle plus où, j'ai lu que
la valeur 0 (ici, non trouvé) équivaut à "false", c'est connu, mais que
toute autre valeur positive est assimilée à "true", ce qui semble être le
cas, ici.
Cordialement.
Daniel
"Modeste"
Bonsour® Fredo P avec ferveur ;o))) vous nous disiez :
Lors du contrôle d'une colonne de noms de personnes par la ligne de
commande suivante,
If InStr(c, "Blond") And InStr(c, "Franck") Then
c = "F. Blondeau"
End If
Si sur la cellule est inscrit "Blondo. Franck": InStr(c, "Blond") =1
et InStr(c, "Franck") =9: Ok, malgré ces 2 valeurs positives,
légalité n'est pas reconnue a cause de l'existence du point"."

Ce un truc connu ?



If (InStr(c, "Blond")>0) And (InStr(c, "Franck")>0) Then c = "F. Blondeau"

le AND ne s'applique qu'a des valeurs booléennes, binaires ou
hexadécimales




--
--
@+
;o)))




Fredo P
Le #16769931
"Modeste"
Bonsour® Fredo P avec ferveur ;o))) vous nous disiez :
Lors du contrôle d'une colonne de noms de personnes par la ligne de
commande suivante,
If InStr(c, "Blond") And InStr(c, "Franck") Then
c = "F. Blondeau"
End If
Si sur la cellule est inscrit "Blondo. Franck": InStr(c, "Blond") =1
et InStr(c, "Franck") =9: Ok, malgré ces 2 valeurs positives,
légalité n'est pas reconnue a cause de l'existence du point"."

Ce un truc connu ?



If (InStr(c, "Blond")>0) And (InStr(c, "Franck")>0) Then c = "F. Blondeau"

le AND ne s'applique qu'a des valeurs booléennes, binaires ou hexadécimales
Ah oui? alors comment se fait il, une fois le point oté manuellement la
commande s'éxécute? ou avec un Or également.




--
--
@+
;o)))
Daniel.M
Le #16770031
Bonsoir,

Avec des valeurs numériques (1 et 9), le AND se transforme en un opérateur
qui travaille sur les bits ('bitwise operator').

Donc, ton AND s'applique sur des valeurs numériques (0001 AND 1001) , ce qui
donne 1.

Si tu enlèves un caractère entre les deux noms (pas juste le point), ça
donnera 1 et 8 (0001 AND 1000), ce qui retourne 0.

Salutations,

Daniel M.

"Fredo P" news:%
Si vous utiliser Xl97 , (je n'ai plus xl2007) ,faites l'essai
L'existence du "." situé aprés Blondo est lhic du truc car quand je le
supprime manuellement l'égalité est reconnue et bien exécutée.

"Daniel.C"
Bonsoir, Modeste.
Je serais un peu mois catégorique; je ne me rappelle plus où, j'ai lu que
la valeur 0 (ici, non trouvé) équivaut à "false", c'est connu, mais que
toute autre valeur positive est assimilée à "true", ce qui semble être le
cas, ici.
Cordialement.
Daniel
"Modeste"
Bonsour® Fredo P avec ferveur ;o))) vous nous disiez :
Lors du contrôle d'une colonne de noms de personnes par la ligne de
commande suivante,
If InStr(c, "Blond") And InStr(c, "Franck") Then
c = "F. Blondeau"
End If
Si sur la cellule est inscrit "Blondo. Franck": InStr(c, "Blond") =1
et InStr(c, "Franck") =9: Ok, malgré ces 2 valeurs positives,
légalité n'est pas reconnue a cause de l'existence du point"."

Ce un truc connu ?



If (InStr(c, "Blond")>0) And (InStr(c, "Franck")>0) Then c = "F.
Blondeau"

le AND ne s'applique qu'a des valeurs booléennes, binaires ou
hexadécimales




--
--
@+
;o)))








Modeste
Le #16770111
Bonsour® Fredo P avec ferveur ;o))) vous nous disiez :

Ah oui? alors comment se fait il, une fois le point oté
manuellement la commande s'éxécute? ou avec un Or également.



j'ai proposé une correction qui fonctionne rationnellement...

libre à toi si veux persister à utiliser ta syntaxe initiale !!!
;o)))

--
--
@+
;o)))
LSteph
Le #16770471
bonjour à tous,

cela change-t-il qqchose?

... potentiellement booleen supposons:

dim var1 as boolean, var2 as boolean
'...
var1=InStr(c, "Blond")>0
var2=InStr(c, "Franck")>0
'...

If var1 And var2 Then c = "F. Blondeau"

'...

'lSteph


'Cordialement

Modeste a écrit :
Bonsour® Fredo P avec ferveur ;o))) vous nous disiez :
Lors du contrôle d'une colonne de noms de personnes par la ligne de
commande suivante,
If InStr(c, "Blond") And InStr(c, "Franck") Then
c = "F. Blondeau"
End If
Si sur la cellule est inscrit "Blondo. Franck": InStr(c, "Blond") =1
et InStr(c, "Franck") =9: Ok, malgré ces 2 valeurs positives,
légalité n'est pas reconnue a cause de l'existence du point"."

Ce un truc connu ?



If (InStr(c, "Blond")>0) And (InStr(c, "Franck")>0) Then c = "F. Blondeau"

le AND ne s'applique qu'a des valeurs booléennes, binaires ou hexadécimales






LSteph
Le #16770561
...pardon je voulais dire ainsi sans le >0 sinon mon post est
incompréhensible:

var1=InStr(c, "Blond")

Je crois qu'ainsi l'expression sans le >0 suggèré par Modeste
peut qd même s'assimiler un booleen,

Vous n'avez qu'à tester avec Blond ou Bond

Sub tstb()
Dim myC As String, var1 As Boolean, var2 As Boolean
myC = "Blondo. Franck"
var1 = InStr(myC, "Bond")
var2 = InStr(myC, "Franck")
If var1 And var2 Then
MsgBox var1 & vbCrLf & var2 & vbCrLf & "Ok"
Else
MsgBox var1 & vbCrLf & var2 & vbCrLf & "iznogoud"
End If
End Sub


LSteph a écrit :
bonjour à tous,

cela change-t-il qqchose?

... potentiellement booleen supposons:

dim var1 as boolean, var2 as boolean
'...
var1=InStr(c, "Blond")>0
var2=InStr(c, "Franck")>0
'...

If var1 And var2 Then c = "F. Blondeau"

'...

'lSteph


'Cordialement

Modeste a écrit :
Bonsour® Fredo P avec ferveur ;o))) vous nous disiez :
Lors du contrôle d'une colonne de noms de personnes par la ligne de
commande suivante,
If InStr(c, "Blond") And InStr(c, "Franck") Then
c = "F. Blondeau"
End If
Si sur la cellule est inscrit "Blondo. Franck": InStr(c, "Blond") =1
et InStr(c, "Franck") =9: Ok, malgré ces 2 valeurs positives,
légalité n'est pas reconnue a cause de l'existence du point"."

Ce un truc connu ?



If (InStr(c, "Blond")>0) And (InStr(c, "Franck")>0) Then c = "F.
Blondeau"

le AND ne s'applique qu'a des valeurs booléennes, binaires ou
hexadécimales








Daniel.C
Le #16772591
Bonjour Daniel.
Point ou pas, le test retourne vrai (XL2007).
Quelques exemples :
=SI(-2;"Vrai";"Faux") retourne "Vrai".
=SI(-1;"Vrai";"Faux") retourne "Vrai".
=SI(0;"Vrai";"Faux") retourne "Faux".
=SI(8;"Vrai";"Faux") retourne "Vrai".
=SI(9;"Vrai";"Faux") retourne "Vrai".
Dans le cas de Fredo P, la variable c, si elle n'est pas définie est
considérée comme "Variant/Object/Range"
le fait d'exécuter "c = "F. Blondeau" la change en "Variant/string".
Cordialement.
Daniel
"Daniel.M" news:
Bonsoir,

Avec des valeurs numériques (1 et 9), le AND se transforme en un opérateur
qui travaille sur les bits ('bitwise operator').

Donc, ton AND s'applique sur des valeurs numériques (0001 AND 1001) , ce
qui donne 1.

Si tu enlèves un caractère entre les deux noms (pas juste le point), ça
donnera 1 et 8 (0001 AND 1000), ce qui retourne 0.

Salutations,

Daniel M.

"Fredo P" news:%
Si vous utiliser Xl97 , (je n'ai plus xl2007) ,faites l'essai
L'existence du "." situé aprés Blondo est lhic du truc car quand je le
supprime manuellement l'égalité est reconnue et bien exécutée.

"Daniel.C"
Bonsoir, Modeste.
Je serais un peu mois catégorique; je ne me rappelle plus où, j'ai lu
que la valeur 0 (ici, non trouvé) équivaut à "false", c'est connu, mais
que toute autre valeur positive est assimilée à "true", ce qui semble
être le cas, ici.
Cordialement.
Daniel
"Modeste"
Bonsour® Fredo P avec ferveur ;o))) vous nous disiez :
Lors du contrôle d'une colonne de noms de personnes par la ligne de
commande suivante,
If InStr(c, "Blond") And InStr(c, "Franck") Then
c = "F. Blondeau"
End If
Si sur la cellule est inscrit "Blondo. Franck": InStr(c, "Blond") =1
et InStr(c, "Franck") =9: Ok, malgré ces 2 valeurs positives,
légalité n'est pas reconnue a cause de l'existence du point"."

Ce un truc connu ?



If (InStr(c, "Blond")>0) And (InStr(c, "Franck")>0) Then c = "F.
Blondeau"

le AND ne s'applique qu'a des valeurs booléennes, binaires ou
hexadécimales




--
--
@+
;o)))












Publicité
Poster une réponse
Anonyme