Pb avec macro excel

Fermé
Rekam - 2 déc. 2004 à 13:27
 Armojax - 2 déc. 2004 à 22:54
Bonjour à tous!

J'ai un problème particulièrement gênant, dans la mesure oú je ne comprend pas du tout (mais alors pas DU TOUT) pourquoi ça ne fonctionne pas...

Je m'explique. J'ai une fonction VB qui me génère le contenu des cellules d'une feuille (+ de 100 cellules sur 12 feuilles). Les contenus de ces cellules sont des formules.

Ce qu'il y a d'énervant, c'est que certaines formules font planter mon script, et je vois pas pourquoi.

Voici une formule qui passe sans prob :
ThisWorkbook.Application.Cells(lng, col).Value = "=SOMME('[" & nomFichier & "]semaine " & semaine & "'!$AD6:$AF6)"

Et en voici une qui ne passe pas
ThisWorkbook.Application.Cells(lng, col).Value = "=SOMME('[" & nomFichier & "]semaine " & semaine & "'!$AD6:$AF6;'[" & nomFichier & "]semaine " & semaine & "'!$AG6:$AJ6)"

Est-ce que qqun comprend pkoi la 2e fait planter le script ? Il doit y avoir un problème d'interprétation... Il me sort une erreur d'exécution 1004.

Merci pour votre aide
A voir également:

3 réponses

Au fait, j'ai vu qu'il y avait un post pratiquement identique, mais même ces solutions proposées là-bas me fonctionnent pas...

le post : http://www.vbfrance.com/forum.v2.aspx?ID=24873

Si vous avez d'autres idées, merci !
0
Bonjour Rekam,

VBA ignore le français...

Donc remplace, pour commencer, SOMME par SUM.

Ensuite, dans les formules EXCEL, les arguments des formules sont séparés par le point-virgule. Ceci pour qu'il n'y ait pas de confusion avec le séparateur décimal, qui peut être soit le point, soit la virgule.

Mais VBA ne fait pas ce genre de confusion. Pour VBA, le séparateur décimal est toujours le point, et les arguments des formules sont toujours séparés par des virgules.

Donc remplace aussi ton ";" par une virgule.

Ça ne devrait pas aller plus mal...

A+.
Armojax.
0
Wow ! ça fonctionne aux petits oignons :) !

Eh ben chapeau, je te remercie bcp ! Par contre, y'a un truc drôle. J'ai officeXP chez moi, et ça marche (je viens de tester, encore merci). J'ai officeXP au boulot, et la fonction SUM() n'est pas reconnue (j'avais déjà essayé cette option là). Au bureau, y'a que SOMME() qui marche. Est-ce qu'il y a des paramètres régionaux à changer qqpart ?

Merci , a+!
0
Eh bien, je suis content que ça marche.

Normalement, tu ne devrais pas avoir de différence entre chez toi et au boulot.

Dans EXCEL, on utilise SOMME. En VBA, on utilise SUM.
A mon avis, ce doit être un problème de syntaxe.

Les paramètres régionaux ont une action dans EXCEL, mais pas dans VBA. Selon les pays, EXCEL peut s'adapter aux usages (séparateur décimal, par exemple). Mais VBA a une syntaxe rigoureusement identique partout.

De loin, comme ça, je ne peux pas dire plus. Il faudrait un exemple.

A+.
Armojax.
0