Bonjour à tous.
Depuis deux jours, je suis confronté à un problème alors que l'objet de
mon code est tout banal. En effet, dans un classeur Excel, j'ai besoin
de parcourir les graphiques de toutes les feuilles de calcul et de les
activer. Voici le code utilisé :
Dim MonGraph As ChartObject
For compteur = 0 To UBound(ListeOnglets) 'on parcourt les noms
des différents onglets
OngletEnCours = ListeOnglets(compteur)
Sheets(OngletEnCours).Activate
For Each MonGraph In ActiveSheet.ChartObjects 'parcourt les
graphiques de la feuille active
ActiveSheet.ChartObjects(MonGraph.Name).Activate ===========> c'est
ici que ç plante
'******* INSTRUCTIONS **********
End With
Next MonGraph
Next compteur
Voici ce qui se passe, sachant que chaque feuille comporte deux graphiques :
- onglet 1 : les deux graphiques sont trouvés et successivement activés
- onglet 2 : le premier graphique est trouvé et activé, mais le
deuxième graphique est trouvé (je récupère son nom = MonGraph.Name), et
quand on arrive à la ligne où il doit être activé, une erreur est
générée et on sort du programme.
Je suis sûr que quelqu'un dans ce forum a la solution ou me montrera la
raison du plantage de mon code. Je l'en remercie déjà.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
titan95
Le 08/03/2012 18:33, titan95 a écrit :
Bonjour à tous. Depuis deux jours, je suis confronté à un problème alors que l'objet de mon code est tout banal. En effet, dans un classeur Excel, j'ai besoin de parcourir les graphiques de toutes les feuilles de calcul et de les activer. Voici le code utilisé :
Dim MonGraph As ChartObject For compteur = 0 To UBound(ListeOnglets) 'on parcourt les noms des différents onglets OngletEnCours = ListeOnglets(compteur) Sheets(OngletEnCours).Activate For Each MonGraph In ActiveSheet.ChartObjects 'parcourt les graphiques de la feuille active ActiveSheet.ChartObjects(MonGraph.Name).Activate ===========> c'est ici que ç plante '******* INSTRUCTIONS ********** End With Next MonGraph Next compteur
Voici ce qui se passe, sachant que chaque feuille comporte deux graphiques : - onglet 1 : les deux graphiques sont trouvés et successivement activés - onglet 2 : le premier graphique est trouvé et activé, mais le deuxième graphique est trouvé (je récupère son nom = MonGraph.Name), et quand on arrive à la ligne où il doit être activé, une erreur est générée et on sort du programme.
Je suis sûr que quelqu'un dans ce forum a la solution ou me montrera la raison du plantage de mon code. Je l'en remercie déjà.
Personne pour s'intéresser à mon cas ?
Le 08/03/2012 18:33, titan95 a écrit :
Bonjour à tous.
Depuis deux jours, je suis confronté à un problème alors que l'objet de
mon code est tout banal. En effet, dans un classeur Excel, j'ai besoin
de parcourir les graphiques de toutes les feuilles de calcul et de les
activer. Voici le code utilisé :
Dim MonGraph As ChartObject
For compteur = 0 To UBound(ListeOnglets) 'on parcourt les noms des
différents onglets
OngletEnCours = ListeOnglets(compteur)
Sheets(OngletEnCours).Activate
For Each MonGraph In ActiveSheet.ChartObjects 'parcourt les graphiques
de la feuille active
ActiveSheet.ChartObjects(MonGraph.Name).Activate ===========> c'est ici
que ç plante
'******* INSTRUCTIONS **********
End With
Next MonGraph
Next compteur
Voici ce qui se passe, sachant que chaque feuille comporte deux
graphiques :
- onglet 1 : les deux graphiques sont trouvés et successivement activés
- onglet 2 : le premier graphique est trouvé et activé, mais le deuxième
graphique est trouvé (je récupère son nom = MonGraph.Name), et quand on
arrive à la ligne où il doit être activé, une erreur est générée et on
sort du programme.
Je suis sûr que quelqu'un dans ce forum a la solution ou me montrera la
raison du plantage de mon code. Je l'en remercie déjà.
Bonjour à tous. Depuis deux jours, je suis confronté à un problème alors que l'objet de mon code est tout banal. En effet, dans un classeur Excel, j'ai besoin de parcourir les graphiques de toutes les feuilles de calcul et de les activer. Voici le code utilisé :
Dim MonGraph As ChartObject For compteur = 0 To UBound(ListeOnglets) 'on parcourt les noms des différents onglets OngletEnCours = ListeOnglets(compteur) Sheets(OngletEnCours).Activate For Each MonGraph In ActiveSheet.ChartObjects 'parcourt les graphiques de la feuille active ActiveSheet.ChartObjects(MonGraph.Name).Activate ===========> c'est ici que ç plante '******* INSTRUCTIONS ********** End With Next MonGraph Next compteur
Voici ce qui se passe, sachant que chaque feuille comporte deux graphiques : - onglet 1 : les deux graphiques sont trouvés et successivement activés - onglet 2 : le premier graphique est trouvé et activé, mais le deuxième graphique est trouvé (je récupère son nom = MonGraph.Name), et quand on arrive à la ligne où il doit être activé, une erreur est générée et on sort du programme.
Je suis sûr que quelqu'un dans ce forum a la solution ou me montrera la raison du plantage de mon code. Je l'en remercie déjà.
Personne pour s'intéresser à mon cas ?
allsystem
Le jeudi 08 Mars 2012 à 18:33 par titan95 :
Bonjour à tous. Depuis deux jours, je suis confronté à un problème alors que l'objet de mon code est tout banal. En effet, dans un classeur Excel, j'ai besoin de parcourir les graphiques de toutes les feuilles de calcul et de les activer. Voici le code utilisé :
Dim MonGraph As ChartObject For compteur = 0 To UBound(ListeOnglets) 'on parcourt les noms des différents onglets OngletEnCours = ListeOnglets(compteur) Sheets(OngletEnCours).Activate For Each MonGraph In ActiveSheet.ChartObjects 'parcourt les graphiques de la feuille active ActiveSheet.ChartObjects(MonGraph.Name).Activate ===========> c'est ici que ç plante '******* INSTRUCTIONS ********** End With Next MonGraph Next compteur
Voici ce qui se passe, sachant que chaque feuille comporte deux graphiques : - onglet 1 : les deux graphiques sont trouvés et successivement activés - onglet 2 : le premier graphique est trouvé et activé, mais le
deuxième graphique est trouvé (je récupère son nom = MonGraph.Name), et quand on arrive à la ligne où il doit être activé, une erreur est générée et on sort du programme.
Je suis sûr que quelqu'un dans ce forum a la solution ou me montrera la raison du plantage de mon code. Je l'en remercie déjà.
Bonjour,
Une chose qui m’interroge,
For compteur = 0 To UBound(ListeOnglets)
UBound(ListeOnglets) cela retourne l'indice le plus grand pour tes onglets.
Mais si tu démarres à 0, ne dois-tu pas mettre "UBound(ListeOnglets)-1" ?
Le jeudi 08 Mars 2012 à 18:33 par titan95 :
Bonjour à tous.
Depuis deux jours, je suis confronté à un problème alors
que l'objet de
mon code est tout banal. En effet, dans un classeur Excel, j'ai besoin
de parcourir les graphiques de toutes les feuilles de calcul et de les
activer. Voici le code utilisé :
Dim MonGraph As ChartObject
For compteur = 0 To UBound(ListeOnglets) 'on parcourt les noms
des différents onglets
OngletEnCours = ListeOnglets(compteur)
Sheets(OngletEnCours).Activate
For Each MonGraph In ActiveSheet.ChartObjects 'parcourt les
graphiques de la feuille active
ActiveSheet.ChartObjects(MonGraph.Name).Activate ===========> c'est
ici que ç plante
'******* INSTRUCTIONS **********
End With
Next MonGraph
Next compteur
Voici ce qui se passe, sachant que chaque feuille comporte deux graphiques :
- onglet 1 : les deux graphiques sont trouvés et successivement
activés
- onglet 2 : le premier graphique est trouvé et activé, mais le
deuxième graphique est trouvé (je récupère son nom
= MonGraph.Name), et
quand on arrive à la ligne où il doit être activé,
une erreur est
générée et on sort du programme.
Je suis sûr que quelqu'un dans ce forum a la solution ou me montrera la
raison du plantage de mon code. Je l'en remercie déjà.
Bonjour,
Une chose qui m’interroge,
For compteur = 0 To UBound(ListeOnglets)
UBound(ListeOnglets) cela retourne l'indice le plus grand pour tes onglets.
Mais si tu démarres à 0, ne dois-tu pas mettre "UBound(ListeOnglets)-1" ?
Bonjour à tous. Depuis deux jours, je suis confronté à un problème alors que l'objet de mon code est tout banal. En effet, dans un classeur Excel, j'ai besoin de parcourir les graphiques de toutes les feuilles de calcul et de les activer. Voici le code utilisé :
Dim MonGraph As ChartObject For compteur = 0 To UBound(ListeOnglets) 'on parcourt les noms des différents onglets OngletEnCours = ListeOnglets(compteur) Sheets(OngletEnCours).Activate For Each MonGraph In ActiveSheet.ChartObjects 'parcourt les graphiques de la feuille active ActiveSheet.ChartObjects(MonGraph.Name).Activate ===========> c'est ici que ç plante '******* INSTRUCTIONS ********** End With Next MonGraph Next compteur
Voici ce qui se passe, sachant que chaque feuille comporte deux graphiques : - onglet 1 : les deux graphiques sont trouvés et successivement activés - onglet 2 : le premier graphique est trouvé et activé, mais le
deuxième graphique est trouvé (je récupère son nom = MonGraph.Name), et quand on arrive à la ligne où il doit être activé, une erreur est générée et on sort du programme.
Je suis sûr que quelqu'un dans ce forum a la solution ou me montrera la raison du plantage de mon code. Je l'en remercie déjà.
Bonjour,
Une chose qui m’interroge,
For compteur = 0 To UBound(ListeOnglets)
UBound(ListeOnglets) cela retourne l'indice le plus grand pour tes onglets.
Mais si tu démarres à 0, ne dois-tu pas mettre "UBound(ListeOnglets)-1" ?