Formule issue d'un prog VBA

Le
Sébastien
Bonjour,

Je tente de saisir avec du code VBA une formule dans une cellule :

FormuleHeure = "=HEURE(B" & LigneRemplir & ")"
ActiveWorkbook.Sheets(Onglet).Cells(LigneRemplir, 22).Formula = FormuleHeure

Il n'y a pas de pb de variables : si j'en suis par exemple à
LigneRemplir, je me retrouve là où il faut avec "=HEURE(B14)" : c'est
bien ce qui s'affiche dans la barre de formule d'Excel.

Le problème, c'est que la formule me retourne un joli #REF!, alors que B14
contient bien une heure, au bon format.

La solution actuelle : je clique dans la barre de formule, et je valide sans
rien modifier. Et là, ça fonctionne

Quelqu'un saurait-il d'où peut venir cette erreur, et comment la réparer ?

Merci !

Sébastien
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
j
Le #1238959
essaie avec
FormuleHeure "=HOUR(R" & LigneRemplir & "C2)"


http://jacxl.free.fr

"Sébastien" 4077cda2$0$26439$
Bonjour,

Je tente de saisir avec du code VBA une formule dans une cellule :

FormuleHeure = "=HEURE(B" & LigneRemplir & ")"
ActiveWorkbook.Sheets(Onglet).Cells(LigneRemplir, 22).Formula FormuleHeure

Il n'y a pas de pb de variables : si j'en suis par exemple à
LigneRemplir, je me retrouve là où il faut avec "=HEURE(B14)" : c'est
bien ce qui s'affiche dans la barre de formule d'Excel.

Le problème, c'est que la formule me retourne un joli #REF!, alors que B14
contient bien une heure, au bon format.

La solution actuelle : je clique dans la barre de formule, et je valide
sans

rien modifier. Et là, ça fonctionne...

Quelqu'un saurait-il d'où peut venir cette erreur, et comment la réparer ?

Merci !

Sébastien




j
Le #1238958
ou peut-etre
FormuleHeure = "=HEURE(B" & LigneRemplir & ")"
ActiveWorkbook.Sheets(Onglet).Cells(LigneRemplir, 22).FormulaLocal
=FormuleHeure



"" 4077ceae$0$17504$
essaie avec
FormuleHeure "=HOUR(R" & LigneRemplir & "C2)"


http://jacxl.free.fr

"Sébastien" 4077cda2$0$26439$
Bonjour,

Je tente de saisir avec du code VBA une formule dans une cellule :

FormuleHeure = "=HEURE(B" & LigneRemplir & ")"
ActiveWorkbook.Sheets(Onglet).Cells(LigneRemplir, 22).Formula > FormuleHeure

Il n'y a pas de pb de variables : si j'en suis par exemple à
LigneRemplir, je me retrouve là où il faut avec "=HEURE(B14)" : c'est
bien ce qui s'affiche dans la barre de formule d'Excel.

Le problème, c'est que la formule me retourne un joli #REF!, alors que
B14


contient bien une heure, au bon format.

La solution actuelle : je clique dans la barre de formule, et je valide
sans

rien modifier. Et là, ça fonctionne...

Quelqu'un saurait-il d'où peut venir cette erreur, et comment la réparer
?



Merci !

Sébastien








Sébastien
Le #1238955
Là, on peut dire que c'est une réponse rapide et efficace !

Merci pour cette solution. Puis-je abuser avec une autre question...?

Est-il possible, par du code VBA, avec une cellule sélectionnée et contenant
une formule, de copier cette dormule vers la cellule juste en dessous, mais
en incrémentant la formule, comme Excel le fait automatiquement quand on
recopie avec la "poignée de recopie" ?

Exemple :
Si G14 contient "=Heure(B14)"
obtenir avec VB, en G15 : "=Heure(B15)"

Je souhaiterais trouver une solution simple, parce que mes formules sont
assez fournies et une analyse de chacune pour modifier manuellement les
chiffres serait trop longue.

Merci !

Sébastien
j
Le #1238953
peut-etre :
Range("G14").AutoFill Range("G14:G15")


http://jacxl.free.fr


"Sébastien" 4077d73c$0$26441$
Là, on peut dire que c'est une réponse rapide et efficace !

Merci pour cette solution. Puis-je abuser avec une autre question...?

Est-il possible, par du code VBA, avec une cellule sélectionnée et
contenant

une formule, de copier cette dormule vers la cellule juste en dessous,
mais

en incrémentant la formule, comme Excel le fait automatiquement quand on
recopie avec la "poignée de recopie" ?

Exemple :
Si G14 contient "=Heure(B14)"
obtenir avec VB, en G15 : "=Heure(B15)"

Je souhaiterais trouver une solution simple, parce que mes formules sont
assez fournies et une analyse de chacune pour modifier manuellement les
chiffres serait trop longue.

Merci !

Sébastien




Daniel.M
Le #1279229
Bonjour Sébastien,

ActiveWorkbook.Sheets(Onglet) _
.Cells(LigneRemplir, 22).FormulaLocal = FormuleHeure

Quand tu donnes une formule française en VBA, il faut que tu utilises
FormulaLocal et non pas Formula.

Salutations,

Daniel M.

"Sébastien" news:4077cda2$0$26439$
Bonjour,

Je tente de saisir avec du code VBA une formule dans une cellule :

FormuleHeure = "=HEURE(B" & LigneRemplir & ")"
ActiveWorkbook.Sheets(Onglet).Cells(LigneRemplir, 22).Formula = FormuleHeure

Il n'y a pas de pb de variables : si j'en suis par exemple à
LigneRemplir, je me retrouve là où il faut avec "=HEURE(B14)" : c'est
bien ce qui s'affiche dans la barre de formule d'Excel.

Le problème, c'est que la formule me retourne un joli #REF!, alors que B14
contient bien une heure, au bon format.

La solution actuelle : je clique dans la barre de formule, et je valide sans
rien modifier. Et là, ça fonctionne...

Quelqu'un saurait-il d'où peut venir cette erreur, et comment la réparer ?

Merci !

Sébastien




Sébastien
Le #1279211
Daniel.M wrote:
Bonjour Sébastien,

ActiveWorkbook.Sheets(Onglet) _
.Cells(LigneRemplir, 22).FormulaLocal = FormuleHeure

Quand tu donnes une formule française en VBA, il faut que tu utilises
FormulaLocal et non pas Formula.

Salutations,

Daniel M.



Merci beaucoup, voilà donc le pourquoi de la chose, que je n'avais pas
saisi.

Séb

Publicité
Poster une réponse
Anonyme