XL 2016 Fractionner une formule - Résolu

BBdoc31

XLDnaute Nouveau
Bonjour,

j'essaye de fractionner une formule vba mais je bute avec les & et "

j'ai à l'origine
Code:
        Cells(X, Z).FormulaLocal = _
        "=SIERREUR(RECHERCHEV($A5;CFU!$A$4:$DA$150;" & n & ";FAUX);)+SIERREUR(RECHERCHEV($A5;MFS!$A$4:$DA$150;" & n & ";FAUX);)"
que je voudrais afficher dans l'éditeur vba en
Code:
        Cells(X, Z).FormulaLocal = _
        "=SIERREUR(RECHERCHEV($A5;CFU!$A$4:$DA$150;" & n & ";FAUX);)"
        "+SIERREUR(RECHERCHEV($A5;MFS!$A$4:$DA$150;" & n & ";FAUX);)"
mais je ne sais pas ou placer correctement les & et les _ ou "
 

M12

XLDnaute Impliqué
Bonjour,

Je suppose un retour à la ligne pour la visibilité de la formule

Code:
Cells(X, Z).FormulaLocal = _
        "=SIERREUR(RECHERCHEV($A5;CFU!$A$4:$DA$150;" & n & ";FAUX);) _
        +SIERREUR(RECHERCHEV($A5;MFS!$A$4:$DA$150;" & n & ";FAUX);)"
 

BBdoc31

XLDnaute Nouveau
ça ne marche pas !
L’éditeur me corrige la formule en mettant
Code:
        Cells(X, Z).FormulaLocal = _
        "=SIERREUR(RECHERCHEV($A5;CFU!$A$4:$DA$150;" & n & ";FAUX);)_"
        "+SIERREUR(RECHERCHEV($A5;MFS!$A$4:$DA$150;" & n & ";FAUX);)"
 

M12

XLDnaute Impliqué
Re,

Pour scinder une formule,
tu places un espace et un "underscore" (tiret soulignement sous la touche 8) puis entrée

mais il se peut que cela ne fonctionne pas avec une formule importée par macro automatique
 

BBdoc31

XLDnaute Nouveau
non, cela bloque toujours :'(

je te joints le code complet
Code:
Sub pointage()
'
'
'
X = 5
Z = 13
W = 51
    For n = 5 To 5 + 2 * (W - 1) Step 2
   
        Cells(X, Z).FormulaLocal = _
        "=SIERREUR(RECHERCHEV($A5;CFU!$A$4:$DA$150;" & n & ";FAUX);)+SIERREUR(RECHERCHEV($A5;MFS!$A$4:$DA$150;" & n & ";FAUX);)+SIERREUR(RECHERCHEV($A5;MLF!$A$4:$DA$150;" & n & ";FAUX);)+SIERREUR(RECHERCHEV($A5;SGE!$A$4:$DA$150;" & n & ";FAUX);)+SIERREUR(RECHERCHEV($A5;NLE!$A$4:$DA$150;" & n & ";FAUX);)+SIERREUR(RECHERCHEV($A5;VLR!$A$4:$DA$150;" & n & ";FAUX);)+SIERREUR(RECHERCHEV($A5;JMD!$A$4:$DA$150;" & n & ";FAUX);)+SIERREUR(RECHERCHEV($A5;MCM!$A$4:$DA$150;" & n & ";FAUX);)"
        Cells(X + 499, Z).FormulaLocal = _
        "=SIERREUR(RECHERCHEV($A504;CFU!$A$4:$DA$150;" & n & ";FAUX);)+SIERREUR(RECHERCHEV($A504;MFS!$A$4:$DA$150;" & n & ";FAUX);)+SIERREUR(RECHERCHEV($A504;MLF!$A$4:$DA$150;" & n & ";FAUX);)+SIERREUR(RECHERCHEV($A504;NLE!$A$4:$DA$150;" & n & ";FAUX);)+SIERREUR(RECHERCHEV($A504;VLR!$A$4:$DA$150;" & n & ";FAUX);)"
        Cells(X + 500, Z).FormulaLocal = _
        "=SIERREUR(RECHERCHEV($A505;CFU!$A$4:$DA$150;" & n & ";FAUX);)+SIERREUR(RECHERCHEV($A505;MFS!$A$4:$DA$150;" & n & ";FAUX);)+SIERREUR(RECHERCHEV($A505;MLF!$A$4:$DA$150;" & n & ";FAUX);)+SIERREUR(RECHERCHEV($A505;NLE!$A$4:$DA$150;" & n & ";FAUX);)+SIERREUR(RECHERCHEV($A505;VLR!$A$4:$DA$150;" & n & ";FAUX);)"
Z = Z + 2
       
   Next n

End Sub
Espace ou pas , j'ai une erreur, le reste des lignes se met en rouge
 

M12

XLDnaute Impliqué
Re,
Teste comme ceci
Code:
Sub pointage()
'
'
'
X = 5
Z = 13
W = 51
    For n = 5 To 5 + 2 * (W - 1) Step 2
  
        Cells(X, Z).FormulaLocal = _
        "=SIERREUR(RECHERCHEV($A5;CFU!$A$4:$DA$150;" _
        & n & ";FAUX);)+SIERREUR(RECHERCHEV($A5;MFS!$A$4:$DA$150;" _
        & n & ";FAUX);)+SIERREUR(RECHERCHEV($A5;MLF!$A$4:$DA$150;" _
        & n & ";FAUX);)+SIERREUR(RECHERCHEV($A5;SGE!$A$4:$DA$150;" _
        & n & ";FAUX);)+SIERREUR(RECHERCHEV($A5;NLE!$A$4:$DA$150;" _
        & n & ";FAUX);)+SIERREUR(RECHERCHEV($A5;VLR!$A$4:$DA$150;" _
        & n & ";FAUX);)+SIERREUR(RECHERCHEV($A5;JMD!$A$4:$DA$150;" _
        & n & ";FAUX);)+SIERREUR(RECHERCHEV($A5;MCM!$A$4:$DA$150;" & n & ";FAUX);)"
        Cells(X + 499, Z).FormulaLocal = _
        "=SIERREUR(RECHERCHEV($A504;CFU!$A$4:$DA$150;" _
        & n & ";FAUX);)+SIERREUR(RECHERCHEV($A504;MFS!$A$4:$DA$150;" _
        & n & ";FAUX);)+SIERREUR(RECHERCHEV($A504;MLF!$A$4:$DA$150;" _
        & n & ";FAUX);)+SIERREUR(RECHERCHEV($A504;NLE!$A$4:$DA$150;" _
        & n & ";FAUX);)+SIERREUR(RECHERCHEV($A504;VLR!$A$4:$DA$150;" & n & ";FAUX);)"
        Cells(X + 500, Z).FormulaLocal = _
        "=SIERREUR(RECHERCHEV($A505;CFU!$A$4:$DA$150;" & _
        n & ";FAUX);)+SIERREUR(RECHERCHEV($A505;MFS!$A$4:$DA$150;" _
        & n & ";FAUX);)+SIERREUR(RECHERCHEV($A505;MLF!$A$4:$DA$150;" _
        & n & ";FAUX);)+SIERREUR(RECHERCHEV($A505;NLE!$A$4:$DA$150;" _
        & n & ";FAUX);)+SIERREUR(RECHERCHEV($A505;VLR!$A$4:$DA$150;" & n & ";FAUX);)"
Z = Z + 2
      
   Next n

End Sub
 

M12

XLDnaute Impliqué
Re,
En principe, on ne coupe pas une formule entre des "................."
surtout pour une bonne compréhension pour se relire
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas