Ajouter une colonne qui calcul la moyenne d'une plage variable

Bonjour tous le monde,

J'ai atteins mes limites en vba et j'ai besoin d'un coup de pouce Je vais essayer d'explique clairement la situation... je vais essayer

J'ai un tableau dans lequel j'ajoute, chaque semaine, une colonne qui a en titres le numéro de la semaine en cours (ligne 2), et le nom du mois associé (ligne 1). Mon tableau se termine par une colonne nommée "TENDANCE" (ligne 1) et toutes mes colonnes sont ajoutées avant celle-ci.

Je souhaite ajouter, après la dernière semaine du mois et avant la colonne "TENDANCE", une colonne qui calcule la moyenne des colonnes du mois, et je souhaite également copier-coller en valeur la colonne qui se retrouvera avant celle-ci.

J'espère que je suis clair... je vais de toute façon ajouter mon fichier au message.

Pour le moment, j'ai réussi à insérer une colonne avant la colonne "TENDANCE et à copier-coller en valeur la colonne précédente.

Pour cela, je me sers d'une colonne type, qui contient les formules =moyenne, qui se trouve sur un autre onglet et que je copie et insert avant la colonne "TENDANCE"... l'idéal serait bien sûr que j’ai un code vba qui insert la colonne et les formules.

Le gros problème que j'ai, sans parlé du fait que mon procédé est sans doute un peu tordu, c'est que je ne sais pas comment faire pour que la moyenne se calcule en fonction du titre des colonnes (même nom de mois) qui est variable d'un mois à l'autre... des fois 4 colonnes, des fois 5 colonnes.

Voici le code vba que j'utilise aujourd'hui (voir macro "Ajouter_colonne_moyenne_mois" dans mon fichier:

Dim C As Range

Application.ScreenUpdating = False

With Worksheets("Suivi retard")

Set C = .Rows(1).Find("TENDANCE")

If Not C Is Nothing Then

Sheets("Paramètres Suivi Retard").Columns("D:D").Copy

.Columns(C.Column).Insert shift:=xlToRight

Application.CutCopyMode = False

With C.Offset(, -2).EntireColumn

.Copy

.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Application.CutCopyMode = False

End With

End If

End With

Application.ScreenUpdating = True

End Sub

Pouvez-vous m'aider svp?

Merci

Bonjour,

Comprends pas la colonne moyenne n'est pas rentré en fixe pourquoi vouloir l'ajouter par vba

Rechercher des sujets similaires à "ajouter colonne qui calcul moyenne plage variable"