FormulaR1C1

Signaler
Messages postés
35
Date d'inscription
jeudi 23 septembre 2010
Statut
Membre
Dernière intervention
26 juillet 2011
-
Messages postés
14848
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 janvier 2022
-
Bonjour, voila je voudrais rentrer une formule dans mon VB

Voila mon code...
il plante à la ligne activeCell.formulaR1C1... seriez vous pourquoi ?


wb.Activate
For Each ws In Worksheets
If ws.Name <> "CUMUL" And ws.Name <> "Progression A-1" And ws.Name <> "OBJECTIFS" And ws.Name <> "Param" Then

For colonne = 1 To UBound(tabencours)
Cells(33, colonne + 3).Select
ActiveCell.FormulaR1C1 = "=" & "((" & tabencours(colonne) & "*0.05)-1)/12"
Next

i = i + 1

End If

Next

5 réponses

Messages postés
14848
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 janvier 2022
160
Bonjour,

"Il plante", il mouline dans le vide ou il t'affiches un message d'erreur ?
Dans le premier cas, il faut voir le contenu de tabencours
sans le 2ième, le message serait bien utile pour t'aider.


Mon site
Messages postés
35
Date d'inscription
jeudi 23 septembre 2010
Statut
Membre
Dernière intervention
26 juillet 2011
1
Il plante,
il affiche

erreur définie par l'application ou par l'objet

et la ligne en jaune est la suivante

ActiveCell.FormulaR1C1 = "=" & "((" & tabencours(colonne) & "*0.05)-1)/12"

Merci
Messages postés
14848
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 janvier 2022
160
Bonjour,

Il ne plante pas, il t'affiche un message d'erreur.
2 causes possibles :
ActiveCell.FormulaR1C1 est invalide (en tant qu'opérande)
tabencours(colonne) te retourne l'erreur

Serait-il possible que tu re'gardes les 2 valeurs en mettant un point d'arrêt que la ligne en question ?

Mon site
Messages postés
35
Date d'inscription
jeudi 23 septembre 2010
Statut
Membre
Dernière intervention
26 juillet 2011
1
Il me marque

activecell.formulaR1C1 = "=191866*0.05/12"

Mais beug, comment faire ?
Messages postés
14848
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 janvier 2022
160
Bonjour,

ActiveCell.FormulaR1C1 a cette valeur avant déclenchement de l'erreur ?

d'autre part :
Cells(33, colonne + 3).Select
ActiveCell.FormulaR1C1 = "=" & "((" & tabencours(colonne) & "*0.05)-1)/12"
Peut être code plus efficacement comme ça :
Cells(33, colonne + 3).FormulaR1C1 = "=" & "((" & tabencours(colonne) & "*0.05)-1)/12"

De quel type est "tabencours" ?
à quelle "colonne", ça te génère l'erreur ?
As-tu vérifier (au moment de l'erreur) la valeur de :
- colonne
- tabencours(colonne)
- Cells(33, colonne + 3).FormulaR1C1

La formule semble correcte, donc ça doit venir des éléments variables.

Mon site