Bonjour à tous !
Je viens encore vous embêter pour profiter de vos lumières...
Je réalise une feuille sous excel où j'ai 7 graphiques pour 7 tableaux. Seulement, ces tableaux ne sont pas forcément remplis.
J'aimerai donc que les graphiques correspondant soient masqués lorsque leur tableau respectif est vide
Pour cela, j'ai dans l'idée de d'abord rechercher, pour chaque tableau, le graphique correspondant (ils comportent le même titre). Ensuite, de voir si le tableau est rempli (si ces valeurs sont différentes de 0). Et enfin de masquer le graphique le cas échéant.
Mais là, je sèches déjà sur la recherche du graphique.
J'ai écrit ça, avec quelques informations glanées un peu partout.
Le debuggueur me dit "objet requis", avec la ligne "for each graph in activeworksheet.Chartobjects" en surligné.
Donc déjà, qu'est ce qui va pas dans le code actuel?
Et avez vous une idée pour la suite? (masquer un graphe)
Merci d'avance !
Je viens encore vous embêter pour profiter de vos lumières...
Je réalise une feuille sous excel où j'ai 7 graphiques pour 7 tableaux. Seulement, ces tableaux ne sont pas forcément remplis.
J'aimerai donc que les graphiques correspondant soient masqués lorsque leur tableau respectif est vide
Pour cela, j'ai dans l'idée de d'abord rechercher, pour chaque tableau, le graphique correspondant (ils comportent le même titre). Ensuite, de voir si le tableau est rempli (si ces valeurs sont différentes de 0). Et enfin de masquer le graphique le cas échéant.
Mais là, je sèches déjà sur la recherche du graphique.
J'ai écrit ça, avec quelques informations glanées un peu partout.
Code:
Private Sub OptiGraphe(Nom As String)
Dim NumRow As Long
Dim NumCol As Long
Dim Plage As Range
Dim GraphCible As Variant
Dim Graph As Variant
Dim i As Byte
Set Plage = Range("A1:S96")
For Each r In Plage
If r.Value Like Nom Then
NumRow = r.Row
NumCol = r.Column
End If
Next
For Each Graph In ActiveWorksheet.ChartObjects
i = i + 1
ActiveWorksheet.ChartObjects(i).Activate
If ActiveChart.Name = Nom Then
Set GraphCible= ActiveChart
End If
Next
MsgBox ("Numrow = " & NumRow & " ; NumCol = " & NumCol)
MsgBox ("Nom du graphe trouvé: " & GraphCible.Name)
End Sub
Donc déjà, qu'est ce qui va pas dans le code actuel?
Et avez vous une idée pour la suite? (masquer un graphe)
Merci d'avance !