Inscrire une formule dans une cellule

Needhelp -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je voudrais inscrire la formule:

SI(ESTNA(SI(BF18="OUI";LIEN_HYPERTEXTE("mailto:"&RECHERCHE(AS18;DONNEESLISTES!$A$2:$A$239;DONNEESLISTES!$L$2:$L$239)&","&LIEN_HYPERTEXTE(BG18)&","&RECHERCHE(AF18;DONNEESLISTES!$T$2:$T$10;DONNEESLISTES!$AD$2:$AD$10));""));"";SI(BF18="OUI";LIEN_HYPERTEXTE(CB18)&","&LIEN_HYPERTEXTE(BG18)&","&LIEN_HYPERTEXTE(RECHERCHE(AF18;DONNEESLISTES!$T$2:$T$10;DONNEESLISTES!$AD$2:$AD$10));""))

Dans la cellule BN2 et tourne en rond depuis une semaine. Ai je une raison d'esperer?

9 réponses

Needhelp
 
L'ideal serait de la stocker dans la macro et de l'inscrire dans la cellule a la demande, en lancant la macro.
Les references absolues sont incontournables.
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonsoir,

il faut utiliser .FormulaLocal et doubler les " à l'intérieur :
[BN2].FormulaLocal = "=SI(ESTNA(SI(BF18=""OUI"";LIEN_HYPERTEXTE(""mailto:""&RECHERCHE(AS18;DONNEESLISTES!$A$2:$A$239;DONNEESLISTES!$L$2:$L$239)&"",""&LIEN_HYPERTEXTE(BG18)&"",""&RECHERCHE(AF18;DONNEESLISTES!$T$2:$T$10;DONNEESLISTES!$AD$2:$AD$10));""""));"""";SI(BF18=""OUI"";LIEN_HYPERTEXTE(CB18)&"",""&LIEN_HYPERTEXTE(BG18)&"",""&LIEN_HYPERTEXTE(RECHERCHE(AF18;DONNEESLISTES!$T$2:$T$10;DONNEESLISTES!$AD$2:$AD$10));""""))"


eric
0
NEEDHELP
 
Bonjour,
Tout ton code n'est pas passé et j'ai notamment du mal à gérer le doublement des "" avec la formule "si(xxx;"";yyy.....
0
Needhelp
 
Il me semblait avoir essaye, je re tente et je te dis
0
Needhelp
 
Je ne connaissais pas la syntaxe avec les guillemets
0
NEEDHELP
 
Je voulais dire entre crochets
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NEEDHELP
 
Parfait!!!!!!!
0
NEEDHELP
 
Oups, à ceci près; ne fonctionnent pas:

"SI(ESTNA(SI(BF2=""OUI"";LIEN_HYPERTEXTE(""mailto:""&RECHERCHE(AS2;DONNEESLISTES!$A$2:$A$239;DONNEESLISTES!$L$2:$L$239)&"",""&LIEN_HYPERTEXTE(BG2)&"",""&RECHERCHE(AF2;DONNEESLISTES!$T$2:$T$10;DONNEESLISTES!$AD$2:$AD$10));""""));"""";SI(BF2=""OUI"";LIEN_HYPERTEXTE(CB2)&"",""&LIEN_HYPERTEXTE(BG2)&"",""&LIEN_HYPERTEXTE(RECHERCHE(AF2;DONNEESLISTES!$T$2:$T$10;DONNEESLISTE" & _
"$AD$10));""""))"

Pas plus que:

"SI(ESTNA(SI(BF2=""OUI"";LIEN_HYPERTEXTE(""mailto:""&RECHERCHE(AS2;DONNEESLISTES!$A$2:$A$239;DONNEESLISTES!$L$2:$L$239)&"",""&LIEN_HYPERTEXTE(BG2)&"",""&RECHERCHE(AF2;DONNEESLISTES!$T$2:$T$10;DONNEESLISTES!$AD$2:$AD$10));""""));"""";SI(BF2=""OUI"";LIEN_HYPERTEXTE(CB2)&"",""&LIEN_HYPERTEXTE(BG2)&"",""&LIEN_HYPERTEXTE(RECHERCHE(AF2;DONNEESLISTES!$T$2:$T$10;DONNEESLISTE" & _
"$AD$10));""""))"
0
NEEDHELP
 
La formule d'origine étant:

=SI(NB.SI(DONNEESPEDAGOGIQUES!$A$2:$A$500;DONNEESADMAINSCRIRE!A4)<>0;SI(ESTNA(SI(A4<>"";DATEDIF(D4;RECHERCHE(A4;DONNEESPEDAGOGIQUES!$A$2:$A$500;DONNEESPEDAGOGIQUES!$E$2:$E$500);"y")&" an(s) "&DATEDIF(D4;RECHERCHE(A4;DONNEESPEDAGOGIQUES!$A$2:$A$500;DONNEESPEDAGOGIQUES!$E$2:$E$500);"ym")&" mois et "&DATEDIF(D4;RECHERCHE(A4;DONNEESPEDAGOGIQUES!$A$2:$A$500;DONNEESPEDAGOGIQUES!$E$2:$E$500);"md")&" jour(s)";""));"";SI(A4<>"";DATEDIF(D4;RECHERCHE(A4;DONNEESPEDAGOGIQUES!$A$2:$A$500;DONNEESPEDAGOGIQUES!$E$2:$E$500);"y")&" an(s) "&DATEDIF(D4;RECHERCHE(A4;DONNEESPEDAGOGIQUES!$A$2:$A$500;DONNEESPEDAGOGIQUES!$E$2:$E$500);"ym")&" mois et "&DATEDIF(D4;RECHERCHE(A4;DONNEESPEDAGOGIQUES!$A$2:$A$500;DONNEESPEDAGOGIQUES!$E$2:$E$500);"md")&" jour(s)";""));"")
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

A essayer si tu veux arrêter de te prendre la tête :
mettre ta formule dans un nom calculé et utiliser ce nom en vba.
Attention à avoir la bonne cellule de sélectionnée lors de la création du nom.

eric

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu lorsque c'est le cas (en haut vers votre titre).
Merci
0
Needhelp
 
Merci
Je suppose qu'un nom calcule ca ne doit pas etre trop eloigne d'insertion, nom, definir?
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
C'est exactement ça.
Tu copies ta formule et tu crées ton nom en y collant ta formule.
Par sécurité dans une cellule colle =ton_nom et contrôles que la recopie incrémentée est correcte.
A noter qu'une formule dans un nom est automatiquement et obligatoirement calculée en matriciel.
Ensuite ta formule en vba est =ton_nom

eric
0