Probleme insertion formule dans une cellule par VBA

Bonjour,

Je viens de perdre mon après midi sur ce problème et je n'y comprend vraiment rien ...

En résumé, je souhaite, après avoir dimensionné un tableau, insérer une formule dans une cellule sur une autre page me permettant de calculer un moyenne par exemple.

Voici ce que j'ai utilisé :

NomEq, filtresVit et k sont des variables a qui je donne des valeurs pour l'exemple.

NomEq = "Equipement"

filtresVit = 20

k = 10

With Sheets("Vit_test_" & NomEq)

.Activate (pass)

.Range("SpecLamMax").Offset(1, 1).Formula = "=MAX(Imp_Vit_" & NomEq & "!R[" & filtresVit & "]C[3]:R[25]C[" & k & "])"

End With

(Pas de beug mais la plage de données que j'essaie de selectionner fait vraiment ce qu'elle veut en fonction de mes valeurs !!)

N'y a t il pas un moyen de mettre un Range la dedans ? ou Quelques chose avec Cells(X,X)

A grand merci d'avance pour votre aide, je désèspère... !!

Bonjour,

Merci de joindre ton fichier pour plus de clarté.

Bonjour sylvain133,

Salutations Raja,

Actuellement, tu utilises des références relatives.

La formule

=MAX(Imp_Vit_" & NomEq & "!R[" & filtresVit & "]C[3]:R[25]C[" & k & "])

se traduit par

=MAX(Imp_Vit_Equipement!R[20]C[3]:R[25]C[10])

Si par exemple, la cellule nommée "SpecLamMax" est A1

.Range("SpecLamMax").Offset(1, 1) est B2

avec .Range("SpecLamMax").Offset(1, 1).Formula , la formule placée en B2 devient

=MAX(Imp_Vit_Equipement!E22:L27)

La plage à sélectionner dépend donc des valeurs filtresVit et k, ainsi que de la position de la cellule nommée "SpecLamMax".

Maintenant, si tu veux "figer" plage à sélectionner, tu dois éviter d’utiliser ces références relatives.

Exemple :

 .Range("SpecLamMax").Offset(1, 1).Formula = "=MAX(Imp_Vit_Equipement!" & Range(Cells(filtresVit, 3), Cells(25, k)).Address & ")"

A+

Super, merci beaucoup !!

Par contre quand je veux calculer une moyenne et nom trouver la valeur max, j'ai une erreur dans ma cellule : "#NOM?"

Qu'est ce que ça veut dire ? y'aurait il une solution pour que la moyenne se calcule directement ?

D'avance merci !!


Je viens de trouver la réponse a ma question.

Au cas ou des internautes seraient intéressés :

VBA est écrit en anglais, du coup il ne faut pas écrire Moyenne mais Average.

Bonne continuation a tous.

Rechercher des sujets similaires à "probleme insertion formule vba"