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

Une découverte importante ou peu?

24 réponses
Avatar
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 ?

10 réponses

1 2 3
Avatar
Daniel.C
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" a écrit dans le
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 ?



Avatar
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)))
Avatar
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" a écrit dans le message de news:

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)))
Avatar
Fredo P
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" a écrit dans le message de news:

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" a écrit dans le message de news:

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)))




Avatar
Fredo P
"Modeste" a écrit dans le message de news:

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)))
Avatar
Daniel.M
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" wrote in message
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" a écrit dans le message de news:

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" a écrit dans le message de news:

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)))








Avatar
Modeste
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)))
Avatar
LSteph
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






Avatar
LSteph
...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








Avatar
Daniel.C
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" a écrit dans le message de
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" wrote in message
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" a écrit dans le message de news:

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" a écrit dans le message de news:

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)))












1 2 3