XL 2016 Par défaut Afficher le résultat d'un calcul "fait en VBA" dans une cellule

bercud

XLDnaute Nouveau
Bonjour à tous ,

J'ai simplifié mon problème pour être plus clair :
Voici un morceau de code qui devrait m'afficher le résultat de l'addition de +0+1+2+3+4+5+6+7+8+9 fait en VBA dans la cellule A1
A l'affichage, Je n'ai pas le résultat attendu 45 mais la chaine de caractères +0+1+2+3+4+5+6+7+8+9

Sub Macro_Addition_Serie()
Dim compteur
Dim SvgVal
compteur = 1
Range("A1").Value = 0
Do
SvgVal = Range("A1").FormulaR1C1
If Left(SvgVal, 1) = "+" Then
Range("A1").FormulaR1C1 = SvgVal & "+" & compteur
Else
Range("A1").FormulaR1C1 = "+" & CDbl(SvgVal) & "+" & compteur
End If
compteur = compteur + 1
Loop Until compteur = 10

End Sub

L’idée est de faire une formule en VBA en allant piocher des données numériques à plusieurs endroits ( dans plusieurs classeurs ( sans conserver les liaisons)) et de faire afficher le résultat dans une cellule tout en conservant la formule avec les nombres d'origine (plus explicite pour comprendre le résultat)

Quelqu'un aurait une solution à me proposer pour obtenir le résultat de cette formule ci-dessus dans la cellule "A1"

Je vous en remercie.
Cordialement.
Bernard
 

Modeste geedee

XLDnaute Barbatruc
Bonjour à tous ,

J'ai simplifié mon problème pour être plus clair :
Voici un morceau de code qui devrait m'afficher le résultat de l'addition de +0+1+2+3+4+5+6+7+8+9 fait en VBA dans la cellule A1
A l'affichage, Je n'ai pas le résultat attendu 45 mais la chaine de caractères +0+1+2+3+4+5+6+7+8+9

L’idée est de faire une formule en VBA en allant piocher des données numériques à plusieurs endroits ( dans plusieurs classeurs ( sans conserver les liaisons)) et de faire afficher le résultat dans une cellule tout en conservant la formule avec les nombres d'origine (plus explicite pour comprendre le résultat)
Bernard
une cellule ne peut afficher simultanement une formule et son résultat
- la formule est toujours visible dans la barre de formule
- la cellule affiche un format de la valeur contenue
:confused: sans trop avoir compris le besoin et l'intéret
upload_2018-9-7_12-35-41.png


affichage différencié de la chaine et du résultat :
Function Eval(target As Range)
Application.Volatile
Eval = Evaluate("=" & target.Text)
End Function
 

Discussions similaires

Réponses
6
Affichages
414

Statistiques des forums

Discussions
311 709
Messages
2 081 769
Membres
101 816
dernier inscrit
Jfrcs