graphique rempli avec ComboBox

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

rirutol

XLDnaute Nouveau
Salut,

Si j'ai 2 combobox qui sont les dates de début et de fin d'un graphique remplie par la colonne A

Je voudrais savoir s'il est possible de renvoyer la colonne B (à la ligne correspondante) comme axe des X de mon graphique??

rirutol
 
Re : graphique rempli avec ComboBox

Re,

Déterminer la plage de données voulue en feuille Calculs ne pose pas de problème.

Par contre pour :

tracer Valeurs = f(référence)

vous avez dû remarquer que les références peuvent être quelconques.

Votre graphique (nuage de points) va avoir une drôle de touche 😕

Vous êtes sûr de ce que vous voulez ? Alors donnez-nous un exemple avec la série que vous aurez définie...

A+
 
Re : graphique rempli avec ComboBox

Re,

Pour illustrer ce que je viens de dire, voyez le fichier joint.

Les macros dans le code de Feuil1 :

Code:
Private Sub ComboBox1_Change()
Trace
End Sub

Private Sub ComboBox2_Change()
Trace
End Sub

Sub Trace()
Dim d1#, d2#, plage As Range
d1 = CDate(ComboBox1.Value)
d2 = CDate(ComboBox2.Value)
With Sheets("Calculs")
  Set plage = .[C3:D3].Offset(Application.Match(d1, .[B4:B65536])) _
    .Resize(1 + Application.Match(d2, .[B4:B65536]) - Application.Match(d1, .[B4:B65536]))
End With
Application.ScreenUpdating = False
With Sheets("Feuil1").ChartObjects(1).Chart.SeriesCollection(1)
  .XValues = plage.Columns(1)
  .Values = plage.Columns(2)
End With
End Sub
A+
 

Pièces jointes

Re : graphique rempli avec ComboBox

Re,

Pour éviter un bug si ComboBox1 > Combobox2, écrire :

Code:
d1 = Application.Min(CDate(ComboBox1), CDate(ComboBox2))
d2 = Application.Max(CDate(ComboBox1), CDate(ComboBox2))
Fichier (2).

Edit : ajouté un contrôle d'erreur en cas de modification manuelle des ComboBox.

A+
 

Pièces jointes

Dernière édition:
Re : graphique rempli avec ComboBox

Bonjour,

Non c'est ma faute, je me suis trompé dans les valeurs insérées dans le fichier (celles que j'ai mises ne veulent rien dire)

Sinon merci c'est exactement ce que je voulais

J'ai simplement un petit problème : si je veux ajouter une nouvelle série de valeurs dans "Calculs" et la tracer, sur le même principe, dans une autre feuille, quelle partie du code dois-je modifier???

Merci

rirutol
 
Re : graphique rempli avec ComboBox

Ca y est, c'est bon je viens de trouver
Il suffit d'étendre la séléction de la plage :

Set plage = [C3:E3].Offset(Application.Match(d1, .[B4:B65536])) _
.Resize(1 + Application.Match(d2, .[B4:B65536]) - Application.Match(d1, .[B4:B65536]))


et de choisir la colonne correspondante pour les ordonnées :

.Values = plage.Columns(3)

Le fichier joint pour ceux que ça intéresse
Encore merci job 75, ça faisait longtemps que je me cassais les dents la-dessus
 

Pièces jointes

Re : graphique rempli avec ComboBox

Bonjour rirutol,

Excellente votre adaptation 🙂

On peut paramétrer la macro Trace - celle de la version (2) est meilleure - et la mettre dans Module1 :

Code:
Sub Trace(col As Byte)
Dim d1#, d2#, plage As Range
On Error Resume Next
d1 = Application.Min(CDate(ActiveSheet.ComboBox1), CDate(ActiveSheet.ComboBox2))
d2 = Application.Max(CDate(ActiveSheet.ComboBox1), CDate(ActiveSheet.ComboBox2))
With Sheets("Calculs")
  Set plage = .[C3:F3].Offset(Application.Match(d1, .[B4:B65536])) _
    .Resize(1 + Application.Match(d2, .[B4:B65536]) - Application.Match(d1, .[B4:B65536]))
End With
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
  If Err Then
    .XValues = 0
    .Values = 0
  Else
    .XValues = plage.Columns(1)
    .Values = plage.Columns(col)
  End If
End With
End Sub
Nota : j'ai simplifié aussi la macro Workbook_Open.

A+
 

Pièces jointes

- 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
8
Affichages
233
Réponses
1
Affichages
116
Réponses
5
Affichages
208
Réponses
12
Affichages
176
Retour