Bonjour le forum,
Je suis doublement nouveau (sur ce forum et dans le codage VBA).
J’ai conçu un fichier VBA (grâce a certains tutos) qui à pour but de simplifier les enregistrements opérationnels quotidiens, avec pour finalité de visualiser l’évolution des activités grâces a des KPI’S en graphes.
-
Sur le formulaire d’accueil de mon fichier j’ai un bouton « PRODUCTION » (CommandButton3) qui me permet d’appeler le formulaire de performance que j’ai appelé FMPERF dont voici le code:
Private Sub CommandButton3_Click()
’ Masquer le UserForm d’accueil
FMACCUEIL.Hide
FMPERF.Show
End Sub -
Sur FMPERF j’ai un bouton « PERFORMANCE CONDITIONNEMENT » (CommandButton3) qui me permet d’appeler le formulaire sur lequel je dois visualiser les graphes dont voici le code:
Private Sub CommandButton3_Click()
On Error Resume Next ’ Ignorer les erreurs
’ Masquer le UserForm d’accueil
FMPERF.Hide’ Charger le formulaire FMGRAPH
Load FMGRAPH’ Afficher le formulaire FMGRAPH
FMGRAPH.Show
End Sub -
Sur le formulaire des graphes nommé FMGRAPH, j’ai le code suivant qui devait me permettre d’afficher les graphes:
Option Explicit
Private Sub UserForm_Initialize()
’ Charge les images depuis la feuille « Graphe »
ChargerImages
End Sub
Private Sub ChargerImages()
Dim ws As Worksheet
Dim shp As Shape
' Référence à la feuille "Graphe"
Set ws = ThisWorkbook.Worksheets("Graphe")
' Parcours des formes (shapes) pour trouver les images
For Each shp In ws.Shapes
If shp.Type = msoPicture Then
Select Case shp.Name
Case "I1"
Image1.Picture = shp.Image
Case "I2"
Image2.Picture = shp.Image
Case "I3"
Image3.Picture = shp.Image
Case "I4"
Image4.Picture = shp.Image
Case "I5"
Image5.Picture = shp.Image
End Select
End If
Next shp
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
’ Vérifie si le changement de données affecte la feuille « Graphe »
If Not Intersect(Target, ThisWorkbook.Worksheets(« Graphe »).Range(« A1:Z100 »)) Is Nothing Then
’ Met à jour les images lorsque les données changent
ChargerImages
End If
End Sub
- Dans mon thisworkbook, j’ai le code suivant:
Function hide_workbook_and_show_form()
Application.Visible = False
FMACCUEIL.Show
End Function
Private Sub workbook_Open()
Call hide_workbook_and_show_form
End Sub
SITUATION:
Lorsque je lance mon fichier VBA (en masquant l’application Excel) et que je cherche a afficher les courbes, aucune courbes ne s’affiche.
J’ai besoin de votre expertise forum.
GEST PROD - Copie (2).xlsm (527,7 Ko)