Ajout condition d´existence dans un boucle

Bonjour la macro suivante permet d ajouter de nouvelles courbes à un graphique existant, mon problème est le suivant : je souhaiterai ajouter une condition d´existence de courbe avant la boucle (ou dedans je ne sais pas comment ça fonctionne).

Le but est que la macro n´ajoute pas plusieurs fois la meme courbe quand je lance la macro plusieures fois( Le problème se pose puisque la macro prend en compte toutes les séries existantes entre la colonne 5 et la dernière non vide).

Donc quand je rajoute une serie et que je lance à nouveau la macro, les anciennes sont à nouveau ajoutées.

Sub AddCurves_Z_S()

End Sub

Je souhaite garder si possible la macro de cette forme la et juste ajouter qql chose qui verifie si les courbes existent deja ou non

Merci par avance pour votre aide

Jules

ps : pour plus de clareté je joins le fichier excel

ps 2 : je lance cette macro en meme temps qu une autre visible aussi sur le fichier et qui a pour but d importer des données dans le tableau page 2 ainsi lorsque je lance les deux, d´abord j importe une nouvelle serie de données puis j ajoute la courbe correspondante, si vous voulez comprendre le fonctionnement global lancer la macro "Run_macros" et chosissez le fichier excel joint " all Dir static measurements1 et/ou 2"

Bonjour Jules21,

Je te propose d'aménager la proc de la façon suivante :

Sub AddCurves_Z_S()

Dim col As Integer, sSerieName As String
Dim i As Integer
Dim SerieAlreadyExists As Boolean, j As Integer

i = 5 'Has to be the number of the first column of the data test table

    ThisWorkbook.Worksheets(1).ChartObjects(1).Activate
'    ActiveChart.SeriesCollection(1).Select
    For col = i To Worksheets("Sheet2").Cells(11, i + 20).End(xlToLeft).Column Step 2 'select the data to the first colum of the data test table to the last not emprty (if more than 10 test, change the number "20")
        If col - 1 > ActiveChart.SeriesCollection.Count Then Set Sr = ActiveChart.SeriesCollection.NewSeries Else: Set Sr = ActiveChart.SeriesCollection(col - 1)
            'On récupère le nom de la série
            sSerieName = ThisWorkbook.Worksheets(2).Cells(7, col).Value
            SerieAlreadyExists = False
            'On recherche si la série est déjà présente
            For i = 1 To ActiveChart.SeriesCollection.Count
                If ActiveChart.SeriesCollection(i).Name = sSerieName Then
                    SerieAlreadyExists = True
                    Exit For
                End If
            Next
            'Si la série n'est pas présente, on la créée
            If Not SerieAlreadyExists Then
                Sr.Name = "=Sheet2!" & Cells(7, col).Address
                Sr.XValues = Range(Worksheets("Sheet2").Cells(11, col), Worksheets("Sheet2").Cells(11, col).End(xlDown))
                Sr.Values = Range(Worksheets("Sheet2").Cells(11, col + 1), Worksheets("Sheet2").Cells(11, col + 1).End(xlDown)) 'select the test name and the data
            End If
    Next

End Sub

Bonjour GVIALLES,

Votre solution fonctionne parfaitement et correspond exactement à ce qui me fallait.

Merci beaucoup à vous

Je vous souhaite une bonne fin de journée

Jules

juste pour les lignes :

For i = 1 To ActiveChart.SeriesCollection.Count

If ActiveChart.SeriesCollection(i).Name = sSerieName

ça serait pas j à la place de i ?

cordialement

Bien vu Jules21...

Rechercher des sujets similaires à "ajout condition existence boucle"