Formule excel

sarrsouraa

XLDnaute Occasionnel
Bonjour tout le monde

depuis une macro j'essaie d'affecter cette formule

Range("BC" & i).Formula = "=IF(M" & i & ">0,IF(SUM(AI" & i & ":AR" & i & ";AT" & i & ";AV" & i & ";AX" & i & ";AZ" & i & "BB" & i & ")=1 ,OK,SUM(AI" & i & ":AR" & i & ";AT" & i & ";AV" & i & ";AX" & i & ";AZ" & i & "BB" & i & ")-1)," & """" & ")"

avec i une variable que l'utilisateur rempli mais j'ai toujours une erreur:
Application or Object defined error
mais j arrive pas a voir elle est ou l'erreur si quelq'un peut m'aider merciiiiiiiiiiiiiiiiiii
 

Gorfael

XLDnaute Barbatruc
Re : Formule excel

Salut sarrsouraa et le forum
Ton problème à une origine dans la place des ".
Quand on veut mettre un texte dans la formule ("OK" par exemple), il faut aussi doubler les guillemets (""OK"")
Quand je fais une formule à rallonge, je commence par l'écrire sur la feuille de calcul et (comme l'anglais me hérisse le poil, je préfère travailler avec FormulaLocal) un simple copier/coller suffit. Après, je m'assure de la justesse du résultat. Puis comme je connais la ligne (ligne 2 par exemple), il suffit de remplacer les 2 par " & i & ". Ce qui me donne :
Code:
Range("BC" & i).FormulaLocal = _
"=SI(M" & i & ">0;SI(SOMME(AI" & i & ":AR" & i & ";AT" & i & ";AV" & i & ";AX" & i _
& ";AZ" & i & ";BB" & i & ")=1;""OK"";SOMME(AI" & i & ":AR" & i & ";AT" & i & ";AV" & i _
& ";AX" & i & ";AZ" & i & ";BB" & i & ")-1);"""")"
Tu te fais une macro pour tester avec juste une initialisation de i et la formule, et tu vas vérifier que le résultat correspond. Si c'est ça, tu copies le code dans ta macro et tu continues.

Petite remarque : ton erreur a plusieurs origine :
AZ" & x & "BB" & x & " ce qui donne AZxBBx ne connaissant pas le but, j'ai choisi AZx;BBx mais ce pourrait être AZx:BBx
(j'ai mis x à la place de i pour une meilleure lisibilité du problème)
"OK" Comme il est dans du texte, on devrait avoir ""OK""
Mais comme j'ai refais la formule, je ne suis pas sûr que ce sont les seules

Il reste le problème des séparateurs : tu emploies ".Formula" => Excel comprend que c'est une formule en anglais.... y compris les séparateurs [,] qui se transforment en [;], mais les [;] se transforment en...erreurs :D
A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 514
Messages
2 089 222
Membres
104 068
dernier inscrit
OLIVIER VERDIERE