doublenico
XLDnaute Junior
Bonjour à tous,
Je bloque pour écrire un bout de code, je m'explique.
Sur mon classeur, j'installe sur chaque feuille des zones de textes mais selon mes documents, parfois j'ai des graphiques pleines pages qui me font planter ma macro.
En fait je voudrais ecrire dans ma macro (pour le moment sans succès) que si j ai un graph en pleine page de ne pas faire de traitement et de passer à l'autre onglet.
Je n'ai pas trouvé de méthodes pour les graph donc j'ai tenté de provoquer une erreur dans ma macro en prenant une propriete d'un graphique. En gros si
AutoScaling = true(qui n'est dispo que sur un graph, pas sur une feuille) ca veut alors bien dire que je suis sur un graphique pleine page.
Voici mon code :
Merci d'avance
Je bloque pour écrire un bout de code, je m'explique.
Sur mon classeur, j'installe sur chaque feuille des zones de textes mais selon mes documents, parfois j'ai des graphiques pleines pages qui me font planter ma macro.
En fait je voudrais ecrire dans ma macro (pour le moment sans succès) que si j ai un graph en pleine page de ne pas faire de traitement et de passer à l'autre onglet.
Je n'ai pas trouvé de méthodes pour les graph donc j'ai tenté de provoquer une erreur dans ma macro en prenant une propriete d'un graphique. En gros si
AutoScaling = true(qui n'est dispo que sur un graph, pas sur une feuille) ca veut alors bien dire que je suis sur un graphique pleine page.
Voici mon code :
Code:
For i = 1 To iNbOnglets
'test pour vérifier s'il s'agit d'un onglet graphique
On Error Resume Next
' on invente une fausse erreur car il n'y a pas de propriete chart pour une feuille
If Workbooks(strNomFichier).Sheets(1).AutoScaling = True Then
End If
If Err <> 0 Then 'alors onglet graphique
Err.Clear
ionglet = 1 '1 = graphique
Else
ionglet = 0 '0 = feuille standard
End If
On Error GoTo 0
'ne pas installer sur les onglets protégés et sur le mm onglet
If Workbooks(strNomFichier).Sheets(i).ProtectContents = False And i <> iPremierOngletNonProtege Then
Workbooks(strNomFichier).Sheets(i).Activate
Workbooks(strNomFichier).Sheets(i).Range("A1").Select
ActiveSheet.Paste
Range("A1").Select
End If
Next
End If
Merci d'avance