Graphique change si VBA ouvert

Bonjour

Je viens vers vous car je suis tombé sur un problème que je ne comprends pas dutout.

Je fais afficher des graphique sur excel mais il n'affiche pas le meme axe x si l'userform6 n'est pas ouvert dans vba (ouvert sur son code), je ne comprends pas.

un extrait du code affichant les graphs :

Private Sub CommandButton1_Click()
Dim lg As Integer
lg = Worksheets("Listes").ListObjects("nom_feuilles").DataBodyRange.Rows.Count
Worksheets("Listes").Range("S1").Value = ComboBox1.Text
For i = 2 To lg + 1
Worksheets("Listes").Range("R" & i).Value = Application.VLookup(Worksheets("Listes").Range("S1"), Worksheets(Worksheets("Listes").Range("P" & i).Text).Range("E2:F" & Worksheets(Worksheets("Listes").Range("P" & i).Text).ListObjects(1).DataBodyRange.Rows.Count), 2, False)
Worksheets("Listes").Range("S" & i).Value = Application.VLookup(Worksheets("Listes").Range("S1"), Worksheets(Worksheets("Listes").Range("P" & i).Text).Range("E2:H" & Worksheets(Worksheets("Listes").Range("P" & i).Text).ListObjects(1).DataBodyRange.Rows.Count), 4, False)
Worksheets("Listes").Range("T" & i).Value = Application.VLookup(Worksheets("Listes").Range("S1"), Worksheets(Worksheets("Listes").Range("P" & i).Text).Range("E2:J" & Worksheets(Worksheets("Listes").Range("P" & i).Text).ListObjects(1).DataBodyRange.Rows.Count), 6, False)

Next
    Worksheets("menu").Shapes.AddChart2(301, xlColumnClustered).Select
    ActiveChart.SetSourceData Source:=Worksheets("Listes").Range("R2:R" & lg + 1)
    ActiveChart.FullSeriesCollection(1).XValues = Worksheets("Listes").Range("P2:P" & lg + 1)
    ActiveChart.HasTitle = True
    ActiveChart.ChartTitle.Text = "Nombre de passagers de l'aéroport de " & Worksheets("Listes").Range("S1").Value

    Worksheets("menu").Shapes.AddChart2(301, xlColumnClustered).Select
    ActiveChart.SetSourceData Source:=Worksheets("Listes").Range("S2:S" & lg + 1)
    ActiveChart.FullSeriesCollection(1).XValues = Worksheets("Listes").Range("P2:P" & lg + 1)
    ActiveChart.HasTitle = True
    ActiveChart.ChartTitle.Text = "Mouvement de l'aéroport de " & Worksheets("Listes").Range("S1").Value

    Worksheets("menu").Shapes.AddChart2(301, xlColumnClustered).Select
    ActiveChart.SetSourceData Source:=Worksheets("Listes").Range("T2:T" & lg + 1)
    ActiveChart.FullSeriesCollection(1).XValues = Worksheets("Listes").Range("P2:P" & lg + 1)
    ActiveChart.HasTitle = True
    ActiveChart.ChartTitle.Text = "Cargo en tonnes de l'aéroport de " & Worksheets("Listes").Range("S1").Value

    Worksheets("menu").ChartObjects(1).Left = Range("G2").Left
    Worksheets("menu").ChartObjects(1).Top = Range("G2").Top
    Worksheets("menu").ChartObjects(2).Left = Range("D16").Left
    Worksheets("menu").ChartObjects(2).Top = Range("D16").Top
    Worksheets("menu").ChartObjects(3).Left = Range("I16").Left
    Worksheets("menu").ChartObjects(3).Top = Range("I16").Top

Sinon si certains veulent le fichier entier, il sera en fichier joint.

Pour reproduire ce "bug" il faut juste cliquer sur statistique d'un aeroport en prendre un au hasard, l'axe des x ne s'affiche pas correctement si vous n'avez pas ouvert vba par contre si vous ouvrez vba et affichez le code de l'userfom6 cela fontionne ( quelque fois pas mais la plus part du temps si).

Je suis sur excel 2019.

Merci à vous !

bonjour

on crée un graphique une fois pour toutes

ensuite, il suffit de filtrer les données pour visualiser un jeu de données ou un autre

pas de création à chaque fois, ni à la souris ni avec VBA

note : ne jamais faire d'onglets multiples. Il faut tout mettre dans un seul (tes années séparées sont un handicap)

tu as fait trop compliqué

reviens aux basiques, tout sera si simple

dans 10 minutes tu auras fini, y compris le graphique et 2 ou 3 TCD

note 2 : tu te lanceras dans VBA pour la saisie de données dans 3 mois, ce n'est pas urgent. Laisse pour l'instant les boutons de côté, même si ça fait pro.

la saisie se fait directement dans l'unique onglet de données

une recherche se fait avec le menu Données Filtrer

amitiés

D'accord merci pour ces conseils, par exemple pour les années comment aurais-tu fais si ce n'est de faire des feuilles séparées ?

Malheureusement mon projet est a rendre pour 23h ^^ donc compliqué de repartir sur de nouvelles bases..

Même si je comprends ton point de vu, je trouve que ce bug n'a pas bcp de sens.. comment cela est ce possible ..?

Merci !

re

vois ici

https://forum.excel-pratique.com/viewtopic.php?f=3&t=122629

dans 1/2 heures, tu auras un onglet qui reprend tous les onglets

essaye d'abord de regrouper 2 années pour tester

et en 10 minutes tu auras fait ton graphique avec son filtre par année, par aéroport etc

tout ceci est à la portée d'un enfant

amitiés

j'ai fait pour 2 années

vois les filtres disponibles

modifie le graphique pour voir ce que tu veux voir

Je t’avoue ne pas tout comprendre, c’est mon premier projet excel, et j’ai vraiment peur de devoir tout refaire, tout est « millimétré » a la case pret lol je ne le sens pas dutout ^^ sinon tant pis je ne comprendrais pas mon erreur et je rendrais ça comme ça, je trouve ça dommage mais je me sens pas assez bon pour entreprendre ce genre de modification

re

dans l'onglet 2015, j'ai mis qe la 1ère c olonne contenant l'année

et de simples "=" pour afficher 2014 sous 2015 (va voir)

(à toi d'ajouter les autres années en dessous)

et un graphique en 5 secondes

Sauf erreur de ma part je ne vois pas tes fichiers

Merci !

ai-je oublié ceci ?

Quoi qu'il en soit merci pour ton aide !

mais ce n'est pas ce que je cherche... impossible de tout reprendre pour moi ... je cherchais juste a comprendre pourquoi excel reagissait ainsi... meme si t'as facon de voir les choses doit certainement faciliter les choses, je le l'ai pas en tête et avec le peu d'experience que j'ai je me vois mal revoir toute ma conception du programme..

Merci pour tout !

tu n'as rien à reprendre, juste à compléter l'onglet 2015 (il faudrait changer son nom maintenant) vers le bas avec de simples =

dans 10 minutes c'est fini !

Oui mais après il faudra reprendre tout mon menu.... vraiment tout, plus rien ne sera automatique que se soit de creer un nouvelle année avec graphique qui change en fonction et tout..

re

à l'avenir la saisie se fera directement dans le tableau global, ligne à ligne, au clavier, durant 10 ou 20 ans

pas besoin de formulaire de saisie (je n'en fais jamais)

ensuite l'unique graphique est filtrable sur la ville ou tout autre paramètre par un novice.

Bonjour,

J'ai regardé ton fichier et je n'ai pas compris ton souci de graphique.

Quoiqu'il en soit, j'ai revisité la création des graphiques.

A te relire.

Cdlt.

Rechercher des sujets similaires à "graphique change vba ouvert"