Inscrire une formule dans une cellule

Needhelp -  
eriiic Messages postés 24581 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

  1. 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
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
    1. 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
  3. Needhelp
     
    Il me semblait avoir essaye, je re tente et je te dis
    0
  4. Needhelp
     
    Je ne connaissais pas la syntaxe avec les guillemets
    0
    1. NEEDHELP
       
      Je voulais dire entre crochets
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. 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
  8. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
  9. Needhelp
     
    Merci
    Je suppose qu'un nom calcule ca ne doit pas etre trop eloigne d'insertion, nom, definir?
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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