Ajout d'une formule dans cellule - ".Formula" avec fonction "=FILTRE"

Bonjour,

J'essai d'ajouter une formule dans une cellule, cela fonctionne lorsque je fais des calculs basiques mais cela bloque avec une fonction FILTRE.

Quelqu'un aurait une piste?

Je vous remercie par avance et bonne année à tous.

Sub ajouter_formule()

Sheets("Feuil1").Range("B14").Formula = "=FILTRE(Données!$A3:$R9506;(Données!A3:A9506>0);0)"

End Sub
image
1test.xlsm (22.02 Ko)

(J'ai ajouté un fichier pour faire le test)

Bonjour (et meilleurs voeux)

L'enregistreur de macro m'a (presque) donné cela :

Range("B14").Formula2R1C1 = _
        "=FILTER(Données!R3C1:R9506C18,(Données!R3C1:R9506C1>0),0)"

J'ai juste mis les adresses en "dur" (en enlevant les [-1], etc...)

Bonne journée

Bonjour @cousinhub Pourrais tu m'éclairer...

Pourquoi dans la formule initiale:
Données!$A3:$R9506

se transforme en :
Données!R3C1:R9506C18

Une fois la macro exécuté la formule se change en :
=FILTRE(Données!$A$3:$R$9506;(Données!$A$3:$A$9506>0);0)

RE-,

Un peu de lecture :

- ICI

- Ou ICI

Bonnes lectures

Merci pour l'idée d'utiliser l'enregistreur de macro et de voir ce qu'il se passe en collant la formule dans la cellule.

Pour ceux que cela intéresse les formules doivent être traduites en ANGLAIS si l'on souhaite utiliser du code VBA pour insérer une formule dans un classeur.

Et la question que je me posais sur la transformation des zones ciblées par mes formules

Données!$A3:$R9506
devient
Données!R3C1:R9506C18

Cela est due à .Formula2R1C1, les chiffres après le R et le C correspondent au numéro de ligne et de colonne pour cibler une cellule.

A3 devient R3C1 (3eme ligne 1ère colonne).
R9506 devient R9506C18 (9506eme ligne 18ème colonne).

Bonne journée à tous.

Rechercher des sujets similaires à "ajout formule formula fonction filtre"