Value Vs Formula R1C1
Résolu
ch_mika
Messages postés
188
Date d'inscription
Statut
Membre
Dernière intervention
-
ch_mika Messages postés 188 Date d'inscription Statut Membre Dernière intervention -
ch_mika Messages postés 188 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Activecell formula
- Logitech formula vibration feedback wheel - Télécharger - Pilotes & Matériel
- Logitech formula force ex - Télécharger - Pilotes & Matériel
- Différence Target et Activecell ✓ - Forum VB / VBA
- Logitech formula vibration feedback wheel driver windows 11 ✓ - Forum Pilotes (drivers)
- Formula R1C1 ✓ - Forum Bureautique
3 réponses
Bonjour,
si tu avais mis
Au bout du compte,
Quand tu saisis une formule avec des références à d'autres cellules, la différence entre les propriétés Formula, FormulaLocal, FormulaArray, FormulaR1C1, FormulaR1C1Local et Value est plus criante.
Essaye ce code en mode pas à pas et met des espions sur chaque cellule et sur ActiveCell.
cordialement
si tu avais mis
ActiveCell.FormulaR1C1 = "=""michaël"""tu aurais eu une formule c'est à dire que
ActiveCell.HasFormulaaurait été à VRAI.
Au bout du compte,
ActiveCell.valueest la même dans les 2 cas.
Quand tu saisis une formule avec des références à d'autres cellules, la différence entre les propriétés Formula, FormulaLocal, FormulaArray, FormulaR1C1, FormulaR1C1Local et Value est plus criante.
Essaye ce code en mode pas à pas et met des espions sur chaque cellule et sur ActiveCell.
Sub test()
[B37] = "=""toto"""
[B38] = "titi"
[B39] = [B37] & [B38]
[B40] = Range("B37").FormulaR1C1
[B41] = Range("B37").Value
ActiveCell.Formula = "=B37&B38"
End Sub
cordialement
Tout d'abord, merci d'avoir répondu.
Ensuite, si je comprends bien (excuse moi d'ailleurs si je n'ai pas bien saisi, je suis novice) les 2 formules sont identiques et on peut utiliser les deux, seule la syntaxe permet de savoir si on a affaire à une formule ou une valeur c'est bien ça ?
Car j'ai mis des espions sur les différentes cellules de ton code et j'ai effectivement vu les formules, ensuite j'ai repris ton code en jouant avec value et formulaR1C1 et le résultat était le même.
Par exemple :
donne exactement le même résultat dans les 3 cellules ainsi que dans la barre de formule.
Ensuite, si je comprends bien (excuse moi d'ailleurs si je n'ai pas bien saisi, je suis novice) les 2 formules sont identiques et on peut utiliser les deux, seule la syntaxe permet de savoir si on a affaire à une formule ou une valeur c'est bien ça ?
Car j'ai mis des espions sur les différentes cellules de ton code et j'ai effectivement vu les formules, ensuite j'ai repris ton code en jouant avec value et formulaR1C1 et le résultat était le même.
Par exemple :
[B37] = "=""toto"""
Range("B38").Value = "=""toto"""
Range("B39").FormulaR1C1 = "toto"
donne exactement le même résultat dans les 3 cellules ainsi que dans la barre de formule.
Bonjour,
Ensuite, si je comprends bien (excuse moi d'ailleurs si je n'ai pas bien saisi, je suis novice) les 2 formules sont identiques et on peut utiliser les deux, seule la syntaxe permet de savoir si on a affaire à une formule ou une valeur c'est bien ça ?
Pas du tout.
Si ta formule est =A1+B1 et que le résultat est 5 :
.value => 5
et .formula => "=A1+B1"
Soit tu veux voir la valeur, le résultat, soit tu veux voir la formule (qui est identique à la valeur si c'est une constante que tu as saisis)
Note que tu as aussi .formulaLocal qui permet de voir la formule en français telle que tu l'as saisies.
eric
Ensuite, si je comprends bien (excuse moi d'ailleurs si je n'ai pas bien saisi, je suis novice) les 2 formules sont identiques et on peut utiliser les deux, seule la syntaxe permet de savoir si on a affaire à une formule ou une valeur c'est bien ça ?
Pas du tout.
Si ta formule est =A1+B1 et que le résultat est 5 :
.value => 5
et .formula => "=A1+B1"
Soit tu veux voir la valeur, le résultat, soit tu veux voir la formule (qui est identique à la valeur si c'est une constante que tu as saisis)
Note que tu as aussi .formulaLocal qui permet de voir la formule en français telle que tu l'as saisies.
eric
Bonjour
Généralement, VBA est fait pour donner des valeurs et non des formules que l'on devrait pouvoir faire "à la main"; toutefois, écrire des formules en VBA peut s'avérer intéressant dans certains cas. Par ex: les valeurs en amont changent souvent et la formule écrite par VBA permet de répondre sans avoir à relancer la macro
L'enregistreur de macro, bien pratique, ne fait qu'enregistrer ce que tu fais sur excel d'où des lignes avec des formula.R1C1. pour des automatismes simples cela suffit largement.
Question syntaxe , Jvdo (bonjour) t'as bien montré la différence
ci dessous un lien très pédagogique pour apprendre presque tranquilement le VBA (basé sur XL2000)
http://www.info-3000.com/vbvba/cours/index.php
Michel
Généralement, VBA est fait pour donner des valeurs et non des formules que l'on devrait pouvoir faire "à la main"; toutefois, écrire des formules en VBA peut s'avérer intéressant dans certains cas. Par ex: les valeurs en amont changent souvent et la formule écrite par VBA permet de répondre sans avoir à relancer la macro
L'enregistreur de macro, bien pratique, ne fait qu'enregistrer ce que tu fais sur excel d'où des lignes avec des formula.R1C1. pour des automatismes simples cela suffit largement.
Question syntaxe , Jvdo (bonjour) t'as bien montré la différence
ci dessous un lien très pédagogique pour apprendre presque tranquilement le VBA (basé sur XL2000)
http://www.info-3000.com/vbvba/cours/index.php
Michel