[Catégorie modifiée VB6 -> VBA] activer un graphique [Résolu]

Signaler
Messages postés
37
Date d'inscription
mardi 12 avril 2011
Statut
Membre
Dernière intervention
18 janvier 2016
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour,

J'aimerai activer un graphique dans une feuille, qui contient uniquement le graphique.

J'ai essayé avec la commande suivante mais ça ne marche pas :

Sheets("ni_1.5").Activate
ActiveSheet.ChartObjects(1).Activate

la première ligne fonctionne, mais pas la deuxième.

Je vous remercie pour votre aide.

jbbaudouin

5 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut

Dans ce cas, utilise la première !

Si ton graphique est une feuille à part entière, il devient une "Sheet" et se trouve donc actif dès que tu actives la Sheet.
Tu peux alors t'adresser directement à ActiveChart

Quand tu as des hésitations de ce genre, enregistre une macro bidon pendant que tu changes de feuille, que tu fais une modif mineure, etc : le code te donnera le nom des objets et les méthodes d'accès

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
A dimensionner comme l'objet concerné (non ?)
As ChartObject

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
Bonjour,

1) il convient d'éviter l'activation systématique (un peu lourd) de la feuille
2) peu importe. non-obstant cette remarque, ton code fonctionne (fonctionne chez moi), sauf si tu n'as pas de graphique avec cet index sur la feuille activée

Procéde donc à cette petite vérification, juste pour en avoir le coeur net :
For Each machin In ActiveSheet.ChartObjects
  MsgBox machin.Index
Next



____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
37
Date d'inscription
mardi 12 avril 2011
Statut
Membre
Dernière intervention
18 janvier 2016

Ucfoutu, comment dimensionner "machin", comme un objet?

Merci par avance pour ta réponse,

jbbaudouin
Messages postés
37
Date d'inscription
mardi 12 avril 2011
Statut
Membre
Dernière intervention
18 janvier 2016

Ok merci à vous ça marche.

Bonne journée,

jbbaudouin