Changer type de courbe graphique en fonction d'un critère[resolu]

  • Initiateur de la discussion Initiateur de la discussion Etn
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Etn

XLDnaute Occasionnel
Bonjour !

Je souhaiterais avoir 2 types de courbes différentes en fonction du fait si le mois est realisé ou prévisionnel.

Si le mois est realisé alors trait plein.
Si le mois est prévisionnel alors trait en pointillé.

Est-ce possible ?

J'ai joint un fichier modèle.

Merci d'avance !

Etn
 

Pièces jointes

Bonsoir CB60 et gardien de phare,

C'est actuellement la méthode que j'avais trouvé (je voulais savoir s'il était possible d'y parvenir en utilisant qu'une seule courbe).

En revanche j'avais essayé avec si "prévisionnel" alors "" sauf que ça me mettais 0. Je n'ai pas pensé à utiliser le NA().

Merci de votre aide, je devrais pouvoir me débrouiller avec cela.

Bonne soirée,

Etn
 
Capt1.JPG
Bonjour à tous
Avec le travail de gardien de phare et une petite modif, possibilité d'avoir X courbes et pas besoin de sélectionner le graph en amont
Code:
Sub Pointille()
Dim i As Integer
    graph = ActiveSheet.Shapes(1).Name
   ' MsgBox graph
    ActiveSheet.ChartObjects(graph).Activate
B = ActiveChart.SeriesCollection.Count
'MsgBox B
For A = 1 To B
    With ActiveChart.SeriesCollection(A)
        For i = 1 To 12
            With .Points(i)
                If Range("b" & i + 1) = "Prévisionnel" Then
                    .Format.Line.DashStyle = msoLineSysDash
                End If
            End With
        Next
    End With
Next A
End Sub
 

Pièces jointes

Dernière édition:
Bonne soirée
J'ai ajouté un else afin de permette la mise à jour des courbes si l'état "Réalisé et Prévisionnel " change
Code:
Sub Pointille()
Dim i As Integer
    graph = ActiveSheet.Shapes(1).Name
    ActiveSheet.ChartObjects(graph).Activate
B = ActiveChart.SeriesCollection.Count

For a = 1 To B
    With ActiveChart.SeriesCollection(a)
        For i = 1 To 12
            With .Points(i)
                If Range("b" & i + 1) = "Prévisionnel" Then
                    .Format.Line.DashStyle = msoLineSysDot
                    Else
                    .Format.Line.DashStyle = msoLineSolid
                End If
            End With
        Next
    End With
Next a
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
553
Réponses
6
Affichages
788
Retour