Axes des x modifiable par bouton

Bonjour, nouveau sur le forum et débutant sur VBA, cela fait quelques jours que je tente de créer une fonction permettant de demander à l'utilisateur une date et une période pour modifier automatiquement la vue sur un graphique (ayant pour abscisse une échelle de date).

Je pense être à l'aise au niveau des fonctions directement sur la "partie tableur" cependant sur VBA c'est bien différents et j'ai beaucoup de mal à corriger les erreurs qui s'affichent (variables non définies, etc. ) …

Voici ce que j'ai pour l'instant :

Sub Periode()
Date1 = InputBox("Date de début (format dd/mm/aaaa hh:mm:ss (heure facultative))")
NbJour = InputBox("Période (jours)")

Date1 = CDate(Date1)
Date2 = DateAdd("d", NbJour, Date1)

ActiveChart.Axes(xlValue).MinorGridlines.Select
ActiveChart.FullSeriesCollection(1).XValues = "=WorksheetFunction.Offset(Sheets('Data X'.Names(Début_Date) ,Names Début_Date) - Date1, 0)"

End Sub

N.B : "Data X" est une feuille de calcul, "Début_Date" est un nom associé au gestionnaire de nom et appartenant à cette feuille de calcul...

Je vous serais très reconnaissant de m'aiguiller sur les erreurs de syntaxe/définition de variable ou autre et je vous en remercie par avance.

Bonjour,

ce serait beaucoup plus facile si tu postais le classeur.

Daniel

Pour des raisons de confidentialité et de taille de fichier trop importante que je n'arrive pas à réduire, je vais essayer d'exprimer plus précisément ma demande.

Mon graphique est composé d'un axe des abscisses sur une période d'un an avec des données relevées toutes les 10min et j'ai diverses courbes sur mon axe des ordonnées.

Je souhaite "tout simplement" pouvoir choisir un intervalle de temps appartenant à ma liste de données facilement sur ce graphique (axe des abscisses) sachant que toutes mes courbes sont associées à cette même abscisse.

Dans un premier temps est-ce possible sans passer par VBA?

Sinon, que peut-il manquer à mon code VBA cité précédemment?

Sans VBA, regarde un classeur avec des toupies pour faire varier la date de départ et la durée :

bonjour,

si vous sélectionnez l'axe, vous pouvez changer le minimum, le maximum et l'intervalle

Avec VBA, que représente "Début_Dat" ? Est-ce une plage nommée ?

Daniel

Merci de vos réponses qui m'ont permis de réaliser ma demande, merci notamment à BsAlv, je n'avais pas pensé à utiliser la fenêtre de mise en forme de l'axe qui simplifie grandement les choses!

Daniel, en effet "Début_Date" est une plage nommée, cependant grâce à l'utilisation de la mise en forme de l'axe je n'ai plus besoin d'utiliser mon gestionnaire de nom.

Je poste donc le code VBA permettant de faire cette manipulation et je clos le sujet en vous remerciant pour le temps accordé.

Sub Periode()
Date1 = InputBox("Date de début (format dd/mm/aaaa)")
Date2 = InputBox("Date de fin (format dd/mm/aaaa)")

Date1 = CDate(Date1)
Date2 = CDate(Date2)

ActiveChart.ChartArea.Select
ActiveChart.Axes(xlCategory).Select
ActiveChart.Axes(xlCategory).MinimumScale = Date1
ActiveChart.Axes(xlCategory).MaximumScale = Date2
Application.CommandBars("Format Object").Visible = False

End Sub

Rechercher des sujets similaires à "axes modifiable bouton"