Mettre une formule dans une cellule

K

Karim

Guest
Bonjour,

Voila, j'essaye de mettre une formule dans une cellule avec le code suivant:
La première fois (Sigma EI moyen), ça marche, mais la deuxième (EI moyen négatif 2004), ça me met: "Erreur définie par l'application ou par l'objet".

pour tant, la msg box m'indique bien la bonne formule!

Je ne comprends vraiment pas!

Si vous trouvez le bug dans mon code, je vous en serait très reconnaissant!

Merci d'avance!

Sub rapport()
Dim derniere_ligne As Integer, plage_calc As Range, formule As String
Dim centre_de_charge As String

centre_de_charge = ActiveSheet.Name

derniere_ligne = ActiveSheet.UsedRange.Rows.Count
Set plage_calc = Range("B3", Range("M3").Offset(derniere_ligne - 6))
'Centre de charge
Worksheets("Rapport").Range("A2") = centre_de_charge

'Sigma EI moyen
Worksheets(centre_de_charge).Activate
formule = "=ECARTYPE(" + "'" + centre_de_charge + "'!" + "B3:" & Range("M3").Offset(derniere_ligne - 6).Address + ")"
Worksheets("Rapport").Range("C2").Formula = formule

'EI moyen négatif 2004
Worksheets(centre_de_charge).Activate
formule = "=SOMME.SI(" + "'" + centre_de_charge + "'!" + "B3:" & Range("M3").Offset(derniere_ligne - 6).Address + ";""< 0"" )/NB.SI(" + "'" + centre_de_charge + "'!" + "B3:" & Range("M3").Offset(derniere_ligne - 6).Address + ";""< 0"")"
MsgBox formule
Worksheets("Rapport").Range("D2").Formula = formule

EndSub
 
E

EricS

Guest
Bonjour,

peux-tu joindre le fichier zippé car un essai sur un nouveau classeur donne le même message. En passant en debug, cela est dû au fait que ma dernière ligne =1 et donc ton offset pointe une ligne négative.

Je pense que sur ton fichier ce n'est pas forcément le même pb car ta feuille n'est sûrement pas vide.

A+
Eric
 
K

karim

Guest
Bonjour,

Voici le fichier sur lequel je travaille.

A y être, savez vous pourquoi quant j'execute la macro, au lieu d'avoir les valeurs des formules dans les cellules, il y a #NOM, alors qu'il suffit que je double clique sur la cellule et que j'appuie sur entrée pour que le résultat apparaisse!?

Je patauge...

Merci d'avance.

Karim
 

Pièces jointes

  • Ecarts_par_centres_de_charge.zip
    19.1 KB · Affichages: 27
K

karim

Guest
Re bonjour,

En fait, le problème existe si j'utilise une fonction avec un SI comme par exemple SOMME.SI.
Et si je ne mets pas le egal devant la formule, ça me la met bien dans la cellule, mais bon, après il faut que je le mette manuellement et vu qu'il y aura plus de 700 formules quant la macro sera finie,je me vois mal rentrer les = devant chaque formule!
pour les formules où il n'y a pas de SI, ça marche mais ça me met #NOM?
Merci
 
K

karim

Guest
ça y est, j'ai trouvé!

En fait, c'est parcequ'il ne faut pas mettre ; comme séparateur de condition dans la formule mais ,.
Cela vient du fait que les formules ne se rentrent pas de la même manière en anglais et en francais!
@+
karim
 

Discussions similaires