Pour une version
locale, effectivement la propriété
FormulaLocal fait l'affaire
mais la formule doit être identique au contenu de la cellule depuis la feuille de calculs …
Dans un environnement international, mieux vaut utiliser la propriété
Formula nativement en anglais.
Astuce pour la traduction native d'une formule locale : sélectionner la cellule puis ouvrir
la fenêtre
Exécution de l'environnement VBA puis y entrer
? activecell.formula et valider !
Le but du jeu étant la « formule VBA » devant reproduire exactement le même texte de la formule de feuille de calculs …
Donc
Range seul ne suffit pas à renvoyer une adresse d'une plage de cellules dans une formule car il renvoie un objet
et non pas une adresse : il faut donc ne pas oublier de lui coller sa propriété
Address !
Consulter son aide intégrée au VBA pour y découvrir ses paramètres.
Cells(10 + i, 9).Formula = "=SUM(" & Cells(10 + i, 10).Resize(, 200).Address & ")" …
Astuce pour accélérer la procédure : désactiver avant la boucle le mode de calcul automatique et l'affichage,
voir l'aide concernant les propriétés
Calculation et
ScreenUpdating …
Et ne pas oublier de réactiver le mode de calcul automatique avant de sortir de la procédure !
__________________________________________________________________________________________
Merci de cliquer sur
pour chaque message ayant aidé puis sur
pour clore cette discussion …
Partager