Insertion de calcul dans une cellule

Résolu
MrOsmose Messages postés 24 Date d'inscription dimanche 4 juillet 2004 Statut Membre Dernière intervention 18 avril 2007 - 13 mars 2007 à 14:57
MrOsmose Messages postés 24 Date d'inscription dimanche 4 juillet 2004 Statut Membre Dernière intervention 18 avril 2007 - 13 mars 2007 à 15:41
Bonjour,

J'ai un problème (erreur 1004, venant de Excel) lorsque j'essaie d'effectuer la ligne suivante :

ActiveCell.Value = "=+SI('" + SuiviPage + "'!E" + CStr(LineSuivi + GraphLine - 1) + "<=" + colstr + "" + CStr(GraphLine) + _

                               ";" + colstr + "" + CStr(GraphLine) + _

                               ";'" + SuiviPage + "'!E" + CStr(LineSuivi + GraphLine - 1) + ")"

J'ai fait tourner avec un debug :

Debug.Print "=+SI('" + SuiviPage + "'!E" + CStr(LineSuivi + GraphLine - 1) + "<=" + colstr + "" + CStr(GraphLine) + _

                               ";" + colstr + "" + CStr(GraphLine) + _

                               ";'" + SuiviPage + "'!E" + CStr(LineSuivi + GraphLine - 1) + ")"

Qui me fournit la chaine de caractère suivante :
+SI('suivi journalier'!E6<U3;U3;'suivi journalier'!E6)

Cette même chaîne, ajoutée manuellement dans la cellule concernée ne me fait aucune erreur... ou peut bien se cacher l'erreur?

Merci

7 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
13 mars 2007 à 15:35
1 - on ne concatène pas avec  +
      l'opérateur est  &

2 - ActiveCell.FormulaLocal  dans ton cas (ta fonction est traduite : SI etc)

    et ton code ne pourras pas être partagé sur Internet... tout le monde n'a pas Office en Fr, et tes formules ne passeront pas partout.
    solution :
        utiliser ActiveCell.Formula et les formules en anglais... IF(....




Renfield





Admin CodeS-SourceS

- MVP Visual Basic
3
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
13 mars 2007 à 15:12
Salut ActiveCell.Formula



 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
MrOsmose Messages postés 24 Date d'inscription dimanche 4 juillet 2004 Statut Membre Dernière intervention 18 avril 2007
13 mars 2007 à 15:21
ca ne semble pas marcher mieux... :s
ActiveCell.Formula = "=+SI('" + SuiviPage + "'!E" + CStr(LineSuivi + GraphLine - 1) + "<=" + colstr + "" + CStr(GraphLine) + _

                               ";" + colstr + "" + CStr(GraphLine) + _

                               ";'" + SuiviPage + "'!E" + CStr(LineSuivi + GraphLine - 1) + ")"

me fait la même erreur.
j'avais déja fait une insertion du genre, mais c'etait pour une formule plus simple :
ActiveCell.Value = "=+'" + SuiviPage + "'!E" + CStr(LineSuivi)

qui remplissait la case par la formule
=+'suivi journalier'!E4

et qui marchait... mais je ne voit pas pourquoi avec une formule plus compliquée (qui est bien formatée au vu de mon debug) ca ne marcherait pas :s
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
13 mars 2007 à 15:25
"=+SI('" pourquoi =+Si?




 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0

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

Posez votre question
MrOsmose Messages postés 24 Date d'inscription dimanche 4 juillet 2004 Statut Membre Dernière intervention 18 avril 2007
13 mars 2007 à 15:34
La fonction de test...
en fait je dois traiter une table du genre :

ID1 : 56
ID1 : 128
...
ID1 : 5648
ID2 : 12
ID2 : 41
...

seulement, le nombre de valeurs données a IDx varie entre 18 et 22, et augmente toujours. Il n'y a aucune chance pour que IDx+1, 4° valeurs soit plus élevé que IDx, 18° valeur, donc je teste SI la valeur suivante est plus petite, que celle déja enregistrée, alors je reste a la même valeur.

donc j'obtientUx SI(' nouvelle valeur de l'autre tableau '<Ux-1;Ux-1;'nouvelle valeur de l'autre tableau')

c'est pour créer un tableau de statistiques en gros...
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
13 mars 2007 à 15:36
de même, utiliser séparateurs de liste et décimal anglais...

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
MrOsmose Messages postés 24 Date d'inscription dimanche 4 juillet 2004 Statut Membre Dernière intervention 18 avril 2007
13 mars 2007 à 15:41
Merci beaucoup.

Le problème de partage ne se pose pas ici, par contre je le retiendrait si le besoin s'en fait sentir ;)
0
Rejoignez-nous