Déplacer le texte des absicces

Bonsoir!

J'ai crée un graphique sur Excel. L'unité principale du quadrillage vertical est le mois. Le graphique commence au 1er avril.

J'aimerais pouvoir décaler le texte sous l'axe des abscisses de manière à centrer le mois entre deux graduations.

Une solution pourrait être de démarrer le graphique au 15 du mois mais alors la date sera centré sur le 15 -ce qui est cool!- mais le quadrillage n'est plus adapté. Et masquer le quadrillage principale en mettant un quadrillage secondaire, cela ne marche pas non plus puisque je ne parviens pas à le décaler de 15 jours au début.

Petite illustration pour expliquer ce que j'aimerais faire. Existe t'il un moyen simple de le faire? Ou un peu complexe mais qui permettrait la MAJ automatique?

unbenannt

Merci !!

bonjour,

sans VBA ? (beaucoup) de travail mais surtout tricher un peu !!

0tricher.xlsx (30.98 Ko)
image

Ok, merci du retour. Ca m'avance déjà de savoir que ce n'est pas possible simplement. Dommage qu'on ne puisse pas déplacer le texte

Je ne suis pas contre du VBA. Tu penses que ce serait possible? J'ai essayé qqchos comme

Sub Macro1()
    ActiveSheet.ChartObjects("Diagramm 1").Activate
    ActiveChart.Axes(xlCategory).Select
    Selection.Left = 5
End Sub

Mais on se heurte au fait qu'il n'est pas possible de déplacer la texte des abscisses (cela provoque un bug).

bonjour,

3tricher.xlsb (36.50 Ko)

je ne comprends pas ce que vous faitez là, mais voici mon approche

- on modifie la date où l'axe X et Y se croisent au demi du mois

- on change le minimum de l'axe X au début du mois

- on cache le premier label de l'axe x derrier une forme (maintenant rouge et trop grand, mais plus tard invisible)

- si nécessaire, on peut ajouter un 2ième série pour créer un axe Y

Dans le fichier, changez la cellule D1 pour décaler les mois

Private Sub Worksheet_Change(ByVal Target As Range)
     Dim DemiMois
     If Target.Address = "$D$1" Then
          With Me
               DemiMois = WorksheetFunction.EDate(DateSerial(2022, 1, 15), Target.Value)     'cette date est le début virtuel de l'axe X
               .Range("E1").Value = DemiMois     'pour mettre à jour le série (cacher tout ce qu'on a avant cette date)
               With .ChartObjects(2).Chart.Axes(xlCategory)     'l'axe X du graphique
                    .MinimumScale = DemiMois - 14     'on veut que les labels commencent le premier du "DemiMois"
                    .MaximumScale = DateSerial(2023, 3, 15)     'max est fixe pour le moment
                    .CrossesAt = DemiMois     'début virtuel de l'axe
                    .MajorUnit = 30.5     '=366/12, n'est pas exactement le début du mois (petit décalage)
               End With
          End With
     End If
End Sub

Merci pour ton aide. Je vais modifier encore un peu le code pour obtenir de dont j'ai besoin exactement - un grand merci à toi!

Bonne journée!

Rechercher des sujets similaires à "deplacer texte absicces"