Bonjour;
J'ai une function (code plus bas), qui extrait les ";" entre deux valeur dans une cellule excel.
Cette function travail a partir de plages nommées et fait la moyenne des valeurs (dans une autre colonne) en splitant les ";".
Toute fois, il faut que la/les plages nommées soit dans la colonne contenant les valeurs.
En considérant l'exemple suivant, plages nommées en colonne A et valeurs en colonne E, ne serait-il pas possible de créer un offset dans la function?
du style:
dim plage as name
for each plage in ActiveWorkBook
plage.offset(plage,4)
Voilà c'est une idée mais ça me marche pas et je suis débutant en VBA.
Si quelqu'un à une idée!
Merci par avance.
PS: je peux joindre éventuellement un exemple pour plus de clarté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Function MoyenneChamp(champ As Range) As Double Dim temp As Double, nb As Integer temp = 0 nb = 0 For Each c In champ If c <> Empty Then If IsNumeric(Left(c.Value, 1)) Then a = Split(c.Value, ";") For i = LBound(a) To UBound(a) temp = temp + Val(a(i)) nb = nb + 1 Next i End If End If MoyenneChamp = temp / nb Next c End Function
Partager