XL 2016 Vba plage variable sous conditions pour tracer des graphiques

  • Initiateur de la discussion Initiateur de la discussion remex32
  • 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 !

remex32

XLDnaute Nouveau
Bonjour,
Je souhaiterais trouver une fonction qui sur le graphique actif change la plage en fonction d'une condition qui est en gros : "à chaque fois que le caractère "ù" est selectionné, prendre la plage si dessous pour le graphique jusqu'à une case vide et ainsi de suite. Je vous met en PJ mon fichier est mon code pour que vous compreniez mieux, merci d'avance.

Sub Macro1()
Dim x As Integer
Dim nbcourbe As Integer
Dim ù As String
nbcourbe = 0
x = 1
ù = "ù"
Sheets("Feuil1").Select
Range("A1").Select
Do While nbcourbe < 124
Do While Not ActiveCell.Value = ù
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Offset(1, 1).Select
Do While Not IsEmpty(ActiveCell)
Sheets("Graphique1").Select
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(x).XValues = "=Feuil1!$B5:$B9"
ActiveChart.FullSeriesCollection(x).Values = "=Feuil1!$C5:$C9"
x = x + 1
Sheets("Feuil1").Select
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Offset(1, -1).Select
nbcourbe = nbcourbe + 1
Loop
End Sub
 

Pièces jointes

Re bonjour et oui me revoilà ... lors de l'exécution de votre prgm j'obtiens belle est bien mes courbes attendu sur mon graphique mais l'axes des abscisses est faussé avec un décalage que je ne sais pas expliqué. Avez vous une idée de la cause ? Par avance, merci.
 
La macro utilisée est la 1ere que vous m'aviez donné :

Sub Macro1()
Dim Cel As Range, RDon As Range, Ser As Series
For Each Cel In Feuil1.Columns(1).SpecialCells(xlCellTypeConstants, 2)
If Cel.Value = "ù" Then
Set RDon = Cel.CurrentRegion
Set Ser = Graphique1.SeriesCollection.NewSeries
Ser.XValues = "=" & RDon(2, 2).Resize(RDon.Rows.Count - 1).Address(External:=True)
Ser.Values = "=" & RDon(2, 3).Resize(RDon.Rows.Count - 1).Address(External:=True)
End If
Next Cel
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
1
Affichages
475
Réponses
0
Affichages
387
Retour