OVH Cloud OVH Cloud

Souci de syntaxe avec " "

3 réponses
Avatar
ThierryP
Bonjour aux acharnés du forum qui ne profitent pas du soleil !!

J'ai un problème de syntaxe avec cette formule quand j'essaie de la
mettre dans une cellule par VBA. Mon souci vient des "". J'ai essayé
plusieurs syntaxes mais rien ne marche...

=SI(ESTNA(RECHERCHEV(C9;Fournisseurs;9;FAUX));"";RECHERCHEV(C9;Fournisseurs;9;FAUX))

If ActiveCell.HasFormula = False And ActiveCell.Column = 4 Then _
ActiveCell.Formula = "=SI(ESTNA(RECHERCHEV(C" + _
ActiveCell.Row + ";Fournisseurs;9;FAUX));" _
+ Chr(34) + Chr(34) + ";RECHERCHEV(C" + ActiveCell.Row _
+ ";Fournisseurs;9;FAUX))": Exit Sub

Un petit coup de main ne serait pas de refus afin que je puisse boire
l'apéro l'esprit libre et l'âme sereine :-)))

Merci d'avance

Thierryp

3 réponses

Avatar
Fred
Dans : news:%23$,
ThierryP disait :
Bonjour aux acharnés du forum qui ne profitent pas du soleil !!

J'ai un problème de syntaxe avec cette formule quand j'essaie de la
mettre dans une cellule par VBA. Mon souci vient des "". J'ai essayé
plusieurs syntaxes mais rien ne marche...

=SI(ESTNA(RECHERCHEV(C9;Fournisseurs;9;FAUX));"";RECHERCHEV(C9;Fournisseurs;9;FAUX))

If ActiveCell.HasFormula = False And ActiveCell.Column = 4 Then _
ActiveCell.Formula = "=SI(ESTNA(RECHERCHEV(C" + _
ActiveCell.Row + ";Fournisseurs;9;FAUX));" _
+ Chr(34) + Chr(34) + ";RECHERCHEV(C" + ActiveCell.Row _
+ ";Fournisseurs;9;FAUX))": Exit Sub


Bonjour,

Ce n'est pas plutôt un problème de langue ? J'aurais utilisé
ActiveCell.FormulaLocal

Sinon pour inclure des guillemets dans une chaîne VB, on peut les
doubler.

Donc :
... Fournisseurs;9;FAUX));" _
+ Chr(34) + Chr(34) + ";RECHERCHEV ...
Deviendrait
... Fournisseurs;9;FAUX));"""";RECHERCHEV ...

(Mais je doute que le problème soit à ce niveau, ta syntaxe avec Chr(34)
est correcte.)

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT

Avatar
ThierryP
Waou !! Bravo la rapidité :-)))

en fait, j'utilise la même trame pour entrer une autre formule et ça
marche.... J'ai déjà essayé de doubler les guillemets, pas mieux !

Au fait, désolé, j'ai posté un peu vite... pas sur le bon forum !!

En tous cas, merci de répondre aussi vite

@+ thierryp

Dans : news:%23$,
ThierryP disait :

Bonjour aux acharnés du forum qui ne profitent pas du soleil !!

J'ai un problème de syntaxe avec cette formule quand j'essaie de la
mettre dans une cellule par VBA. Mon souci vient des "". J'ai essayé
plusieurs syntaxes mais rien ne marche...

=SI(ESTNA(RECHERCHEV(C9;Fournisseurs;9;FAUX));"";RECHERCHEV(C9;Fournisseurs;9;FAUX))


If ActiveCell.HasFormula = False And ActiveCell.Column = 4 Then _
ActiveCell.Formula = "=SI(ESTNA(RECHERCHEV(C" + _
ActiveCell.Row + ";Fournisseurs;9;FAUX));" _
+ Chr(34) + Chr(34) + ";RECHERCHEV(C" + ActiveCell.Row _
+ ";Fournisseurs;9;FAUX))": Exit Sub



Bonjour,

Ce n'est pas plutôt un problème de langue ? J'aurais utilisé
ActiveCell.FormulaLocal

Sinon pour inclure des guillemets dans une chaîne VB, on peut les doubler.

Donc :
... Fournisseurs;9;FAUX));" _
+ Chr(34) + Chr(34) + ";RECHERCHEV ...
Deviendrait
... Fournisseurs;9;FAUX));"""";RECHERCHEV ...

(Mais je doute que le problème soit à ce niveau, ta syntaxe avec Chr(34)
est correcte.)




Avatar
Daniel92
*Bonjour* Hello *Fred et ThierryP,

Cette fonction (VBscript) que m'avait donné *jbongran* pour
diminuer les chr(34) ; à adapter pour le Visual Basic :

http://groups.google.com/groups?selmA1e257d$0$13691$636a15ce%40news.free.fr
«
Une autre approche serait de déléguer la mise entre guillemets à une
fonction ;-)

Function QuoteMe(strVal)
QuoteMe = ""
If Len(strVal) > 1 Then QuoteMe = """" & strVal & """"
End Function

Path="C:Program FilesOutlook Express"
File="msimn.exe"
Shell.Run QuoteMe(Path & File)
»

Cordialement,
:O)
Daniel.
===
http://groups.google.com/groups?threadm=%23$qVUpBnFHA.2152%40TK2MSFTNGP14.phx.gbl