Macro générée par VBA

Le
dunkelzahn
Bonjour,

J'ai un un ptit soucis que je n'arrive pas à résoudre soit par sa
finalité soit par la méthode (c'en est au point que je doute de ce que
je fais)

Voilà, je voudrai par VBA mettre une macro dans une cellule du type :
=SI(NBVAL(AC4:AC992);NBVAL(AC4:AC992);"")

Alors j'ai fais la syntaxe suivante par VBA :
DumpNum = HisTorique.Cells(3, Columns.count).End(xlToLeft).Column
DumpAdr = Left$(HisTorique.Cells(1, DumpNum + 1).Address(0, 0),
(HisTorique.Cells(1, DumpNum + 1).Column < 27) + 2)
HisTorique.Cells(1, DumpNum + 1).Formula = "SI(NBVAL(" & DumpAdr &
"4:" & DumpAdr & HisTorique.Cells(Rows.count, 3).End(xlUp).Row & _
");NBVAL(" & DumpAdr & "4:" & DumpAdr & HisTorique.Cells(Rows.count,
3).End(xlUp).Row & ");" _
& Chr(34) & Chr(34) & ")"


Le dumpnum et le dumpadr ressortent correctement (j'ai fais les
tests). Mais quand j'essaie d'insérer la formule il me ressort une
erreur d'exécution 1004.
Je ne pige pas où est le souci. Voyez vous mieux que moi ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LSteph
Le #7032751
Bonjour,

Rajoute le = au début dans ta formule.

.Formula = "=Si

Cordialement.

--
lSteph


dunkelzahn a écrit :
Bonjour,

J'ai un un ptit soucis que je n'arrive pas à résoudre soit par sa
finalité soit par la méthode (c'en est au point que je doute de ce que
je fais)

Voilà, je voudrai par VBA mettre une macro dans une cellule du type :
=SI(NBVAL(AC4:AC992);NBVAL(AC4:AC992);"")

Alors j'ai fais la syntaxe suivante par VBA :
DumpNum = HisTorique.Cells(3, Columns.count).End(xlToLeft).Column
DumpAdr = Left$(HisTorique.Cells(1, DumpNum + 1).Address(0, 0),
(HisTorique.Cells(1, DumpNum + 1).Column < 27) + 2)
HisTorique.Cells(1, DumpNum + 1).Formula = "SI(NBVAL(" & DumpAdr &
"4:" & DumpAdr & HisTorique.Cells(Rows.count, 3).End(xlUp).Row & _
");NBVAL(" & DumpAdr & "4:" & DumpAdr & HisTorique.Cells(Rows.count,
3).End(xlUp).Row & ");" _
& Chr(34) & Chr(34) & ")"


Le dumpnum et le dumpadr ressortent correctement (j'ai fais les
tests). Mais quand j'essaie d'insérer la formule il me ressort une
erreur d'exécution 1004.
Je ne pige pas où est le souci. Voyez vous mieux que moi ?


dunkelzahn
Le #7033031
Bonjour

Merci LSteph pour ta réponse. Je verrai cela plus tard mais j'avais
déjà mis un "=" auparavant. Mauvaise ligne recopiée. Je te retourne la
suite de mes tests dès que possible.

On 18 juin, 08:46, LSteph
Bonjour,

Rajoute le = au début dans ta formule.

.Formula = "=Si

Cordialement.

--
lSteph

dunkelzahn a écrit :



> Bonjour,

> J'ai un un ptit soucis que je n'arrive pas à résoudre soit par sa
> finalité soit par la méthode (c'en est au point que je doute de ce que
> je fais)

> Voilà, je voudrai par VBA mettre une macro dans une cellule du type :
> =SI(NBVAL(AC4:AC992);NBVAL(AC4:AC992);"")

> Alors j'ai fais la syntaxe suivante par VBA :
> DumpNum = HisTorique.Cells(3, Columns.count).End(xlToLeft).Column
> DumpAdr = Left$(HisTorique.Cells(1, DumpNum + 1).Address(0, 0),
> (HisTorique.Cells(1, DumpNum + 1).Column < 27) + 2)
> HisTorique.Cells(1, DumpNum + 1).Formula = "SI(NBVAL(" & DumpAdr &
> "4:" & DumpAdr & HisTorique.Cells(Rows.count, 3).End(xlUp).Row & _
> ");NBVAL(" & DumpAdr & "4:" & DumpAdr & HisTorique.Cells(Rows.count,
> 3).End(xlUp).Row & ");" _
> & Chr(34) & Chr(34) & ")"

> Le dumpnum et le dumpadr ressortent correctement (j'ai fais les
> tests). Mais quand j'essaie d'insérer la formule il me ressort une
> erreur d'exécution 1004.
> Je ne pige pas où est le souci. Voyez vous mieux que moi ?- Masquer l e texte des messages précédents -

- Afficher le texte des messages précédents -


dunkelzahn
Le #7034021
Bonjour,

Comme promis, je reviens à la charge mais cette fois pour donner la
solution à mon problème. En fait le problème venait des ";" servant à
la séparation du SI(). Je les ai remplacés par des virgules et ca
fonctionne.

En clair :

HisTorique.Cells(1, DumpNum + 1).Formula = "=SI(NBVAL(" & DumpAdr &
"4:" & DumpAdr & HisTorique.Cells(Rows.count, 3).End(xlUp).Row & _
"),NBVAL(" & DumpAdr & "4:" & DumpAdr & HisTorique.Cells(Rows.count,
3).End(xlUp).Row & ")," _
& Chr(34) & Chr(34) & ")"

On 18 juin, 09:38, dunkelzahn
Bonjour

Merci LSteph pour ta réponse. Je verrai cela plus tard mais j'avais
déjà mis un "=" auparavant. Mauvaise ligne recopiée. Je te retour ne la
suite de mes tests dès que possible.

On 18 juin, 08:46, LSteph


> Bonjour,

> Rajoute le = au début dans ta formule.

> .Formula = "=Si

> Cordialement.

> --
> lSteph

> dunkelzahn a écrit :

> > Bonjour,

> > J'ai un un ptit soucis que je n'arrive pas à résoudre soit par sa
> > finalité soit par la méthode (c'en est au point que je doute de c e que
> > je fais)

> > Voilà, je voudrai par VBA mettre une macro dans une cellule du type :
> > =SI(NBVAL(AC4:AC992);NBVAL(AC4:AC992);"")

> > Alors j'ai fais la syntaxe suivante par VBA :
> > DumpNum = HisTorique.Cells(3, Columns.count).End(xlToLeft).Column
> > DumpAdr = Left$(HisTorique.Cells(1, DumpNum + 1).Address(0, 0),
> > (HisTorique.Cells(1, DumpNum + 1).Column < 27) + 2)
> > HisTorique.Cells(1, DumpNum + 1).Formula = "SI(NBVAL(" & DumpAdr &
> > "4:" & DumpAdr & HisTorique.Cells(Rows.count, 3).End(xlUp).Row & _
> > ");NBVAL(" & DumpAdr & "4:" & DumpAdr & HisTorique.Cells(Rows.count,
> > 3).End(xlUp).Row & ");" _
> > & Chr(34) & Chr(34) & ")"

> > Le dumpnum et le dumpadr ressortent correctement (j'ai fais les
> > tests). Mais quand j'essaie d'insérer la formule il me ressort une
> > erreur d'exécution 1004.
> > Je ne pige pas où est le souci. Voyez vous mieux que moi ?- Masquer le texte des messages précédents -

> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Publicité
Poster une réponse
Anonyme