OVH Cloud OVH Cloud

Supression graphique

8 réponses
Avatar
[aicfr]
Bonjour,

j'aimerai savoir comment supprimer un ensemble de graphique sur une feuille.
En faite je voudrai savoir si une feuille possede des graphiques et si oui
les supprimer.
Merci

aicfr

8 réponses

Avatar
ng
Salut,

Comment sont déssiné les graphiques ? Directement sur la feuille ? Dans un
controle ? (style MSChart) ou parles-tu de graphiques sur une feuille Excel
?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

[aicfr] a écrit :

Bonjour,

j'aimerai savoir comment supprimer un ensemble de graphique sur une
feuille. En faite je voudrai savoir si une feuille possede des
graphiques et si oui les supprimer.
Merci

aicfr


Avatar
[aicfr]
cela s'applique au code suivant:


Charts.Add
ActiveChart.ChartType = xlBarStacked
ActiveChart.SetSourceData source:=Worksheets("Tableau Tps").Range("A" &
var + 1 & ":H" & val1 & ""), PlotBy _
:=xlRows
ActiveChart.Location Where:=xlLocationAsObject, Name:="Graphique"

merci

"ng" a écrit dans le message de
news:u%
Salut,

Comment sont déssiné les graphiques ? Directement sur la feuille ? Dans un
controle ? (style MSChart) ou parles-tu de graphiques sur une feuille


Excel
?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

[aicfr] a écrit :

> Bonjour,
>
> j'aimerai savoir comment supprimer un ensemble de graphique sur une
> feuille. En faite je voudrai savoir si une feuille possede des
> graphiques et si oui les supprimer.
> Merci
>
> aicfr





Avatar
ng
Salut,

Dans ce cas essaye qqch comme ça :

Dim i As Integer
For i = 1 To Charts.Count
Call Charts(1).Delete
Next

Sans la confirmation :

Dim i As Integer
Application.DisplayAlerts = False
For i = 1 To Charts.Count
Call Charts(1).Delete
Next

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

[aicfr] a écrit :

cela s'applique au code suivant:


Charts.Add
ActiveChart.ChartType = xlBarStacked
ActiveChart.SetSourceData source:=Worksheets("Tableau
Tps").Range("A" & var + 1 & ":H" & val1 & ""), PlotBy _
:=xlRows
ActiveChart.Location Where:=xlLocationAsObject, Name:="Graphique"

merci

"ng" a écrit dans le message de
news:u%
Salut,

Comment sont déssiné les graphiques ? Directement sur la feuille ?
Dans un controle ? (style MSChart) ou parles-tu de graphiques sur
une feuille Excel ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

[aicfr] a écrit :

Bonjour,

j'aimerai savoir comment supprimer un ensemble de graphique sur une
feuille. En faite je voudrai savoir si une feuille possede des
graphiques et si oui les supprimer.
Merci

aicfr






Avatar
JLK
Ne serait-ce pas
Call Charts(i).Delete
?

JLK
"ng" a écrit dans le message de news:

Salut,

Dans ce cas essaye qqch comme ça :

Dim i As Integer
For i = 1 To Charts.Count
Call Charts(1).Delete
Next

Sans la confirmation :

Dim i As Integer
Application.DisplayAlerts = False
For i = 1 To Charts.Count
Call Charts(1).Delete
Next

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

[aicfr] a écrit :

> cela s'applique au code suivant:
>
>
> Charts.Add
> ActiveChart.ChartType = xlBarStacked
> ActiveChart.SetSourceData source:=Worksheets("Tableau
> Tps").Range("A" & var + 1 & ":H" & val1 & ""), PlotBy _
> :=xlRows
> ActiveChart.Location Where:=xlLocationAsObject, Name:="Graphique"
>
> merci
>
> "ng" a écrit dans le message de
> news:u%
>> Salut,
>>
>> Comment sont déssiné les graphiques ? Directement sur la feuille ?
>> Dans un controle ? (style MSChart) ou parles-tu de graphiques sur
>> une feuille Excel ?
>>
>> --
>> Nicolas G.
>> FAQ VB : http://faq.vb.free.fr
>> API Guide : http://www.allapi.net
>> Google Groups : http://groups.google.fr/
>> MZ-Tools : http://www.mztools.com/
>> http://apisvb.europe.webmatrixhosting.net/
>>
>> [aicfr] a écrit :
>>
>>> Bonjour,
>>>
>>> j'aimerai savoir comment supprimer un ensemble de graphique sur une
>>> feuille. En faite je voudrai savoir si une feuille possede des
>>> graphiques et si oui les supprimer.
>>> Merci
>>>
>>> aicfr




Avatar
ng
Salut,

Non, car c'est une collection, on supprime donc le premier élément à chaque
fois (tout est réindexé à chaque fois).

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

JLK a écrit :

Ne serait-ce pas
Call Charts(i).Delete
?

JLK
"ng" a écrit dans le message de news:

Salut,

Dans ce cas essaye qqch comme ça :

Dim i As Integer
For i = 1 To Charts.Count
Call Charts(1).Delete
Next

Sans la confirmation :

Dim i As Integer
Application.DisplayAlerts = False
For i = 1 To Charts.Count
Call Charts(1).Delete
Next

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

[aicfr] a écrit :

cela s'applique au code suivant:


Charts.Add
ActiveChart.ChartType = xlBarStacked
ActiveChart.SetSourceData source:=Worksheets("Tableau
Tps").Range("A" & var + 1 & ":H" & val1 & ""), PlotBy _
:=xlRows
ActiveChart.Location Where:=xlLocationAsObject,
Name:="Graphique"

merci

"ng" a écrit dans le message de
news:u%
Salut,

Comment sont déssiné les graphiques ? Directement sur la feuille ?
Dans un controle ? (style MSChart) ou parles-tu de graphiques sur
une feuille Excel ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

[aicfr] a écrit :

Bonjour,

j'aimerai savoir comment supprimer un ensemble de graphique sur
une feuille. En faite je voudrai savoir si une feuille possede des
graphiques et si oui les supprimer.
Merci

aicfr










Avatar
Vincent Guichard
JLK a écrit :
Ne serait-ce pas
Call Charts(i).Delete
?



Si Charts est comme je le pense une collection, et que Delete agit comme
Remove, non.

Charts(1).Delete supprime l'item 1. L'item 2 devient alors l'item 1,
l'item 3 devient l'item 2... et ainsi de suite.

Donc a chaque fois il faut supprimer le premier élément de la boucle.

Par contre, je me ne sais pas si Count() est réévalué à chaque parcourt
de la boucle, auquel cas la boucle est fausse (on ne supprime que la
moitié des items).

D'une facon générale, j'utiliserai plutôt pour une collection C:

while C.Count > 0
C(1).Remove
Wend


Vincent Guichard

(Si Charts n'est pas une collection, ne pas tenir compte de mon message ;) )
Avatar
ng
Salut,

Par contre, je me ne sais pas si Count() est réévalué à chaque parcourt
de la boucle


Non une boucle For conserve le "paramètre to".

D'une facon générale, j'utiliserai plutôt pour une collection C:

while C.Count > 0
C(1).Remove
Wend


C'est une bonne méthode aussi en effet.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

Vincent Guichard a écrit :

JLK a écrit :
Ne serait-ce pas
Call Charts(i).Delete
?



Si Charts est comme je le pense une collection, et que Delete agit
comme Remove, non.

Charts(1).Delete supprime l'item 1. L'item 2 devient alors l'item 1,
l'item 3 devient l'item 2... et ainsi de suite.

Donc a chaque fois il faut supprimer le premier élément de la boucle.

Par contre, je me ne sais pas si Count() est réévalué à chaque
parcourt
de la boucle, auquel cas la boucle est fausse (on ne supprime que la
moitié des items).

D'une facon générale, j'utiliserai plutôt pour une collection C:

while C.Count > 0
C(1).Remove
Wend


Vincent Guichard

(Si Charts n'est pas une collection, ne pas tenir compte de mon
message ;) )


Avatar
[aicfr]
Bonjour,

Tt d'abord merci pour votre aide, bon j'ai trouvé une solution qui me
convient parfaitement pour ce que j'ai a faire:

Worksheets("Feuil1").ChartObjects.Delete

Cela supprime l'ensemble des graphiques d'une feuille, tt a fait dont
j'avais besoin
++

aicfr


"ng" a écrit dans le message de
news:%
Salut,

>Par contre, je me ne sais pas si Count() est réévalué à chaque parcourt
>de la boucle
Non une boucle For conserve le "paramètre to".

>D'une facon générale, j'utiliserai plutôt pour une collection C:
>
>while C.Count > 0
> C(1).Remove
>Wend
C'est une bonne méthode aussi en effet.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

Vincent Guichard a écrit :

> JLK a écrit :
>> Ne serait-ce pas
>> Call Charts(i).Delete
>> ?
>
> Si Charts est comme je le pense une collection, et que Delete agit
> comme Remove, non.
>
> Charts(1).Delete supprime l'item 1. L'item 2 devient alors l'item 1,
> l'item 3 devient l'item 2... et ainsi de suite.
>
> Donc a chaque fois il faut supprimer le premier élément de la boucle.
>
> Par contre, je me ne sais pas si Count() est réévalué à chaque
> parcourt
> de la boucle, auquel cas la boucle est fausse (on ne supprime que la
> moitié des items).
>
> D'une facon générale, j'utiliserai plutôt pour une collection C:
>
> while C.Count > 0
> C(1).Remove
> Wend
>
>
> Vincent Guichard
>
> (Si Charts n'est pas une collection, ne pas tenir compte de mon
> message ;) )