OVH Cloud OVH Cloud

Placer une formule dans une cellule en VBA

5 réponses
Avatar
myname
Bonjour,

je tape la formule suivante dans une cellule :

=NBVAL('F:\monRep\[monFich.xls]maFeuille'!$A$1:$Z$26)

Ca calcule correctement.

J'initialise une autre cellule avec la même formule en VBA :

Me.Cells(5,5).Formula =
"NBVAL('F:\monRep\[monFich.xls]maFeuille'!$A$1:$Z$26)"

Résultat affiché : #nom?

Si je sélectionne cette cellule et tape entrée, cette fois-ci, le résultat
correct s'affiche.

Comment initialiser ma cellule avec une formule en VBA ?

Merci !

5 réponses

Avatar
Daniel
Bonjour.
Remplace NNBVAL par Counta.
Cordialement.
Daniel
"myname" a écrit dans le message de news:
42b1461c$
Bonjour,

je tape la formule suivante dans une cellule :

=NBVAL('F:monRep[monFich.xls]maFeuille'!$A$1:$Z$26)

Ca calcule correctement.

J'initialise une autre cellule avec la même formule en VBA :

Me.Cells(5,5).Formula > "NBVAL('F:monRep[monFich.xls]maFeuille'!$A$1:$Z$26)"

Résultat affiché : #nom?

Si je sélectionne cette cellule et tape entrée, cette fois-ci, le résultat
correct s'affiche.

Comment initialiser ma cellule avec une formule en VBA ?

Merci !




Avatar
Daniel
D'abord, c'est NBVAL et puis il ne faut pas oublier le signe =.
"Daniel" a écrit dans le message de news:
%
Bonjour.
Remplace NNBVAL par Counta.
Cordialement.
Daniel
"myname" a écrit dans le message de news:
42b1461c$
Bonjour,

je tape la formule suivante dans une cellule :

=NBVAL('F:monRep[monFich.xls]maFeuille'!$A$1:$Z$26)

Ca calcule correctement.

J'initialise une autre cellule avec la même formule en VBA :

Me.Cells(5,5).Formula >> "NBVAL('F:monRep[monFich.xls]maFeuille'!$A$1:$Z$26)"

Résultat affiché : #nom?

Si je sélectionne cette cellule et tape entrée, cette fois-ci, le
résultat
correct s'affiche.

Comment initialiser ma cellule avec une formule en VBA ?

Merci !








Avatar
myname
Impeccable ! Meci !

"Daniel" a écrit dans le message de
news:%
D'abord, c'est NBVAL et puis il ne faut pas oublier le signe =.
"Daniel" a écrit dans le message de news:
%
Bonjour.
Remplace NNBVAL par Counta.
Cordialement.
Daniel
"myname" a écrit dans le message de news:
42b1461c$
Bonjour,

je tape la formule suivante dans une cellule :

=NBVAL('F:monRep[monFich.xls]maFeuille'!$A$1:$Z$26)

Ca calcule correctement.

J'initialise une autre cellule avec la même formule en VBA :

Me.Cells(5,5).Formula > >> "NBVAL('F:monRep[monFich.xls]maFeuille'!$A$1:$Z$26)"

Résultat affiché : #nom?

Si je sélectionne cette cellule et tape entrée, cette fois-ci, le
résultat
correct s'affiche.

Comment initialiser ma cellule avec une formule en VBA ?

Merci !












Avatar
Pierre Fauconnier
Bonjour

me.cells(5,5).formulalocal = "=NBVA(..."
ou bien
me.cells(5,5).formula = "=COUNTA(..."

Attention, Formulalocal est pratique car il permet la saisie en français,
mais la même macro sur un poste en anglais renverra une erreur #nom? car
NBVAL est inconnu en anglais.

Il vaut mieux utiliser la formulation internationale car ton code VBA, a
contrario de tes formules Excel, ne sera pas adapté à la "nouvelle" langue
d'Excel.

Ok?

--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"myname" a écrit dans le message de news:
42b1461c$
Bonjour,

je tape la formule suivante dans une cellule :

=NBVAL('F:monRep[monFich.xls]maFeuille'!$A$1:$Z$26)

Ca calcule correctement.

J'initialise une autre cellule avec la même formule en VBA :

Me.Cells(5,5).Formula > "NBVAL('F:monRep[monFich.xls]maFeuille'!$A$1:$Z$26)"

Résultat affiché : #nom?

Si je sélectionne cette cellule et tape entrée, cette fois-ci, le résultat
correct s'affiche.

Comment initialiser ma cellule avec une formule en VBA ?

Merci !




Avatar
Philippe Noss
Bonjour, un bon moyen pour trouver la syntaxe VBA est de passer par
l'enregistreur macro ! et de regarder l'aide en ligne de VBA...
Pour le probléme évoqué, il faut d'abord savoir que lorsque
lorsqu'on veut placer par VBA une formule il faut l'ecrire en anglais.
la bonne syntaxe est donc :
Cells(5,5).Formula =
"COUNTA('F:monRep[monFich.xls­]maFeuille'!$A$1:$Z$26)"
(la traduction des formules se trouve fans le classeur VBALIST.xls qui
est dans le dossier d'installation d'excel...)
Philippe NOSS
www.exefac.com