Bonjour tout le monde !
Je suis un petit nouveau sur le forum mais je le visite depuis très longtemps et jusqu'ici il m'a été très souvent utile !

Je viens vous voir aujourd'hui car j'ai un problème que je n'arrive pas à résoudre dans le cadre de mon travail professionnel :

Principe général de mon code :
J'ai une colonne "Colonne" que je rentre dans un graphique grâce à vba : Fait !
Grâce à une userform mon utilisateur vient modifier un peu cette courbe : Fait !
Durant son traitement de la courbe il peut en visualiser les effets par appui sur un CommandButton: le soucis est là !

Principe du code de mon problème :
Le bouton et l'appel de la procédure c'est fait !
Je crée une variable de stockage "Stock" sur laquelle j'effectue le traitement. Je mets dans cette variable les données de ma colonne "Colonne", puis grâce à une boucle for je modifie élément par élément les valeurs présentent dans Stock jusqu'à un évènement "Event" qui me fait sortir de ma boucle for par Exit For.

Ainsi j'ai en résultat pour Stock : Les valeurs de "Colonne" avec traitement de la part de l'utilisateur jusqu'à l'indice auquel se produit "Event" puis les valeurs de "Colonne" sans traitement jusqu'à la fin de ma courbe. Puis j'envoie ma variable Stock dans mon graphique pour visualisation par l'utilisateur.

(Lignes est une variable "public as Integer" issue d'une autre procédure qui contient le nombre de lignes de "Colonne")

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Dim  i As Integer
Dim Stock() As Single                                                           <---Le problème est que Stock semble selon moi changer de type entre ici 
ReDim Stock(Lignes - 1)
Stock()= "Valeurs de Colonne"                                                <--- ici 
For i = 2 To Lignes
    Stock(i - 2) = "Traitement basé sur une moyenne glissante"    <--- et ici même si pour moi il est tout le temps un Single !
If "Event" Then
        Exit For
    End If
Next
    ActiveSheet.ChartObjects("Graphique 1").Activate
    ActiveChart.SeriesCollection(4).Values = Stock