Je reprends des fichiers pleins de graphiques, faits (par mézigue il y a
longtemps)avec XL2K.
Dans ces graphiques j'avais ajouté des flèches venant de la zone de légende.
Mais parfois j'ai fait ces flèches avec celle qui est dans la barre de dessin,
alors elles se sont auto-appellées "traits", parfois je les ai faites avec une
forme automatique, elles se sont auto-appellées alors "formes automatiques".
Original, hum...
Mais ces 2 objets ne semblent pas vivre la même vie : le "trait" est visible
quand je clique dans le graphique, la format auto, au contraire n'apparaît que
quand je suis hors du graphique..
La zone...
Comment, svp, avec VBA, je peux lister ces objets dans tous les graphiques d'une
feuille, et comment je peux, à la demande, assassiner ceux qui ne me reviennent pas.
Un grand merci pour l'aide.
PS: un gros progrès, le service informatique a bousillé ma connection sur le
vaste monde. Aussi, pardonnez-excuse si j'ai un peu de délai dans le suivi.
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
Daniel
Bonsoir. Essaie :
Sub test() Dim Forme As Shape, Rep For Each Forme In ActiveSheet.Shapes Var = Forme.Name On Error Resume Next Forme.Select If Err.Number = 0 Then Rep = MsgBox("Supprimer " & Forme.Name & " ?", vbOKCancel) If Rep = 1 Then Forme.Delete Else Err.Clear End If On Error GoTo 0 Next Forme End Sub
Cordialement. Daniel "J@@" a écrit dans le message de news:
Bonjour à tous
Je reprends des fichiers pleins de graphiques, faits (par mézigue il y a longtemps)avec XL2K.
Dans ces graphiques j'avais ajouté des flèches venant de la zone de légende.
Mais parfois j'ai fait ces flèches avec celle qui est dans la barre de dessin, alors elles se sont auto-appellées "traits", parfois je les ai faites avec une forme automatique, elles se sont auto-appellées alors "formes automatiques". Original, hum...
Mais ces 2 objets ne semblent pas vivre la même vie : le "trait" est visible quand je clique dans le graphique, la format auto, au contraire n'apparaît que quand je suis hors du graphique..
La zone...
Comment, svp, avec VBA, je peux lister ces objets dans tous les graphiques d'une feuille, et comment je peux, à la demande, assassiner ceux qui ne me reviennent pas.
Un grand merci pour l'aide.
PS: un gros progrès, le service informatique a bousillé ma connection sur le vaste monde. Aussi, pardonnez-excuse si j'ai un peu de délai dans le suivi.
Merci t'encore @+ J@@
Bonsoir.
Essaie :
Sub test()
Dim Forme As Shape, Rep
For Each Forme In ActiveSheet.Shapes
Var = Forme.Name
On Error Resume Next
Forme.Select
If Err.Number = 0 Then
Rep = MsgBox("Supprimer " & Forme.Name & " ?", vbOKCancel)
If Rep = 1 Then Forme.Delete
Else
Err.Clear
End If
On Error GoTo 0
Next Forme
End Sub
Cordialement.
Daniel
"J@@" <jipivert@-ifrance.com> a écrit dans le message de news:
eEdui1iAHHA.4844@TK2MSFTNGP02.phx.gbl...
Bonjour à tous
Je reprends des fichiers pleins de graphiques, faits (par mézigue il y a
longtemps)avec XL2K.
Dans ces graphiques j'avais ajouté des flèches venant de la zone de
légende.
Mais parfois j'ai fait ces flèches avec celle qui est dans la barre de
dessin, alors elles se sont auto-appellées "traits", parfois je les ai
faites avec une forme automatique, elles se sont auto-appellées alors
"formes automatiques". Original, hum...
Mais ces 2 objets ne semblent pas vivre la même vie : le "trait" est
visible quand je clique dans le graphique, la format auto, au contraire
n'apparaît que quand je suis hors du graphique..
La zone...
Comment, svp, avec VBA, je peux lister ces objets dans tous les graphiques
d'une feuille, et comment je peux, à la demande, assassiner ceux qui ne me
reviennent pas.
Un grand merci pour l'aide.
PS: un gros progrès, le service informatique a bousillé ma connection sur
le vaste monde. Aussi, pardonnez-excuse si j'ai un peu de délai dans le
suivi.
Sub test() Dim Forme As Shape, Rep For Each Forme In ActiveSheet.Shapes Var = Forme.Name On Error Resume Next Forme.Select If Err.Number = 0 Then Rep = MsgBox("Supprimer " & Forme.Name & " ?", vbOKCancel) If Rep = 1 Then Forme.Delete Else Err.Clear End If On Error GoTo 0 Next Forme End Sub
Cordialement. Daniel "J@@" a écrit dans le message de news:
Bonjour à tous
Je reprends des fichiers pleins de graphiques, faits (par mézigue il y a longtemps)avec XL2K.
Dans ces graphiques j'avais ajouté des flèches venant de la zone de légende.
Mais parfois j'ai fait ces flèches avec celle qui est dans la barre de dessin, alors elles se sont auto-appellées "traits", parfois je les ai faites avec une forme automatique, elles se sont auto-appellées alors "formes automatiques". Original, hum...
Mais ces 2 objets ne semblent pas vivre la même vie : le "trait" est visible quand je clique dans le graphique, la format auto, au contraire n'apparaît que quand je suis hors du graphique..
La zone...
Comment, svp, avec VBA, je peux lister ces objets dans tous les graphiques d'une feuille, et comment je peux, à la demande, assassiner ceux qui ne me reviennent pas.
Un grand merci pour l'aide.
PS: un gros progrès, le service informatique a bousillé ma connection sur le vaste monde. Aussi, pardonnez-excuse si j'ai un peu de délai dans le suivi.
Merci t'encore @+ J@@
J
Bonjour Daniel et merci pour ton aide Ta proc me propose de virer les graphiques, textboxes etc, dans leur ensemble.
Deux problèmes : 1 Je n'identifie le graphique qu'elle propose de détruire qu'après la destruction (les graphiques ne sont pas nommés), mais peut-être qu'en ajoutant un select, je pourrai l'identifier avant de cliquer oui. 2 De plus, ce que je souhaite c'est repérer les objets *ajoutés en plus dans* le graphique : flèches etc, et la proc ne les voit pas.
Tu vois comment faire ? :-) Merci pour l'aide @+ J@@
Daniel wrote:
Bonsoir. Essaie :
Sub test() Dim Forme As Shape, Rep For Each Forme In ActiveSheet.Shapes Var = Forme.Name On Error Resume Next Forme.Select If Err.Number = 0 Then Rep = MsgBox("Supprimer " & Forme.Name & " ?", vbOKCancel) If Rep = 1 Then Forme.Delete Else Err.Clear End If On Error GoTo 0 Next Forme End Sub
Cordialement. Daniel "J@@"
Je reprends des fichiers pleins de graphiques, faits (par mézigue il y a longtemps)avec XL2K.
Dans ces graphiques j'avais ajouté des flèches venant de la zone de légende.
Mais parfois j'ai fait ces flèches avec celle qui est dans la barre de dessin, alors elles se sont auto-appellées "traits", parfois je les ai faites avec une forme automatique, elles se sont auto-appellées alors "formes automatiques". Original, hum...
Mais ces 2 objets ne semblent pas vivre la même vie : le "trait" est visible quand je clique dans le graphique, la format auto, au contraire n'apparaît que quand je suis hors du graphique..
La zone...
Comment, svp, avec VBA, je peux lister ces objets dans tous les graphiques d'une feuille, et comment je peux, à la demande, assassiner ceux qui ne me reviennent pas.
Bonjour Daniel et merci pour ton aide
Ta proc me propose de virer les graphiques, textboxes etc, dans leur ensemble.
Deux problèmes :
1 Je n'identifie le graphique qu'elle propose de détruire qu'après la
destruction (les graphiques ne sont pas nommés), mais peut-être qu'en ajoutant
un select, je pourrai l'identifier avant de cliquer oui.
2 De plus, ce que je souhaite c'est repérer les objets *ajoutés en plus dans* le
graphique : flèches etc, et la proc ne les voit pas.
Tu vois comment faire ? :-)
Merci pour l'aide
@+
J@@
Daniel wrote:
Bonsoir.
Essaie :
Sub test()
Dim Forme As Shape, Rep
For Each Forme In ActiveSheet.Shapes
Var = Forme.Name
On Error Resume Next
Forme.Select
If Err.Number = 0 Then
Rep = MsgBox("Supprimer " & Forme.Name & " ?", vbOKCancel)
If Rep = 1 Then Forme.Delete
Else
Err.Clear
End If
On Error GoTo 0
Next Forme
End Sub
Cordialement.
Daniel
"J@@"
Je reprends des fichiers pleins de graphiques, faits (par mézigue il y a
longtemps)avec XL2K.
Dans ces graphiques j'avais ajouté des flèches venant de la zone de
légende.
Mais parfois j'ai fait ces flèches avec celle qui est dans la barre de
dessin, alors elles se sont auto-appellées "traits", parfois je les ai
faites avec une forme automatique, elles se sont auto-appellées alors
"formes automatiques". Original, hum...
Mais ces 2 objets ne semblent pas vivre la même vie : le "trait" est
visible quand je clique dans le graphique, la format auto, au contraire
n'apparaît que quand je suis hors du graphique..
La zone...
Comment, svp, avec VBA, je peux lister ces objets dans tous les graphiques
d'une feuille, et comment je peux, à la demande, assassiner ceux qui ne me
reviennent pas.
Bonjour Daniel et merci pour ton aide Ta proc me propose de virer les graphiques, textboxes etc, dans leur ensemble.
Deux problèmes : 1 Je n'identifie le graphique qu'elle propose de détruire qu'après la destruction (les graphiques ne sont pas nommés), mais peut-être qu'en ajoutant un select, je pourrai l'identifier avant de cliquer oui. 2 De plus, ce que je souhaite c'est repérer les objets *ajoutés en plus dans* le graphique : flèches etc, et la proc ne les voit pas.
Tu vois comment faire ? :-) Merci pour l'aide @+ J@@
Daniel wrote:
Bonsoir. Essaie :
Sub test() Dim Forme As Shape, Rep For Each Forme In ActiveSheet.Shapes Var = Forme.Name On Error Resume Next Forme.Select If Err.Number = 0 Then Rep = MsgBox("Supprimer " & Forme.Name & " ?", vbOKCancel) If Rep = 1 Then Forme.Delete Else Err.Clear End If On Error GoTo 0 Next Forme End Sub
Cordialement. Daniel "J@@"
Je reprends des fichiers pleins de graphiques, faits (par mézigue il y a longtemps)avec XL2K.
Dans ces graphiques j'avais ajouté des flèches venant de la zone de légende.
Mais parfois j'ai fait ces flèches avec celle qui est dans la barre de dessin, alors elles se sont auto-appellées "traits", parfois je les ai faites avec une forme automatique, elles se sont auto-appellées alors "formes automatiques". Original, hum...
Mais ces 2 objets ne semblent pas vivre la même vie : le "trait" est visible quand je clique dans le graphique, la format auto, au contraire n'apparaît que quand je suis hors du graphique..
La zone...
Comment, svp, avec VBA, je peux lister ces objets dans tous les graphiques d'une feuille, et comment je peux, à la demande, assassiner ceux qui ne me reviennent pas.
Daniel
Bonjour. J'ai éliminé les graphiques de la sélection. Curieusement, bien que le trait soit sélectionné, le fait d'afficher une msgbox fait que la sélection n'est pas visible. Pour contourner le pb, j'ai coloré en rouge les éléments sélectionnés en rétablissant la couleur d'origine si pas de suppression. Bien entendu, il faut choisir une couleur qui n'est pas utilisée pour tes graphiques :
Sub test() Dim Forme As Shape, Rep, ch As ChartObject Dim ResCouleur As Integer Range("A1").Select For Each Forme In ActiveSheet.Shapes If Forme.Type <> msoChart Then On Error Resume Next Forme.Select If Err.Number = 0 Then ResCouleur = Selection.ShapeRange.Line.ForeColor.SchemeColor Selection.ShapeRange.Line.ForeColor.SchemeColor = 10 Rep = MsgBox("Supprimer " & Forme.Name & " ?", vbOKCancel) If Rep = 1 Then Forme.Delete Else Selection.ShapeRange.Line.ForeColor.SchemeColor = ResCouleur End If Else Err.Clear End If On Error GoTo 0 End If Next Forme For Each ch In ActiveSheet.ChartObjects For Each Forme In ch.Chart.Shapes Forme.Select Var = Forme.Name ResCouleur = Forme.Line.ForeColor.SchemeColor Forme.Line.ForeColor.SchemeColor = 10 Rep = MsgBox("Supprimer " & Forme.Name & " ?", vbOKCancel) If Rep = 1 Then Forme.Delete Else Forme.Line.ForeColor.SchemeColor = ResCouleur End If Next Forme Next ch End Sub
Daniel "J@@" a écrit dans le message de news: %
Bonjour Daniel et merci pour ton aide Ta proc me propose de virer les graphiques, textboxes etc, dans leur ensemble.
Deux problèmes : 1 Je n'identifie le graphique qu'elle propose de détruire qu'après la destruction (les graphiques ne sont pas nommés), mais peut-être qu'en ajoutant un select, je pourrai l'identifier avant de cliquer oui. 2 De plus, ce que je souhaite c'est repérer les objets *ajoutés en plus dans* le graphique : flèches etc, et la proc ne les voit pas.
Tu vois comment faire ? :-) Merci pour l'aide @+ J@@
Daniel wrote:
Bonsoir. Essaie :
Sub test() Dim Forme As Shape, Rep For Each Forme In ActiveSheet.Shapes Var = Forme.Name On Error Resume Next Forme.Select If Err.Number = 0 Then Rep = MsgBox("Supprimer " & Forme.Name & " ?", vbOKCancel) If Rep = 1 Then Forme.Delete Else Err.Clear End If On Error GoTo 0 Next Forme End Sub
Cordialement. Daniel "J@@"
Je reprends des fichiers pleins de graphiques, faits (par mézigue il y a longtemps)avec XL2K.
Dans ces graphiques j'avais ajouté des flèches venant de la zone de légende.
Mais parfois j'ai fait ces flèches avec celle qui est dans la barre de dessin, alors elles se sont auto-appellées "traits", parfois je les ai faites avec une forme automatique, elles se sont auto-appellées alors "formes automatiques". Original, hum...
Mais ces 2 objets ne semblent pas vivre la même vie : le "trait" est visible quand je clique dans le graphique, la format auto, au contraire n'apparaît que quand je suis hors du graphique..
La zone...
Comment, svp, avec VBA, je peux lister ces objets dans tous les graphiques d'une feuille, et comment je peux, à la demande, assassiner ceux qui ne me reviennent pas.
Bonjour.
J'ai éliminé les graphiques de la sélection.
Curieusement, bien que le trait soit sélectionné, le fait d'afficher une
msgbox fait que la sélection n'est pas visible. Pour contourner le pb, j'ai
coloré en rouge les éléments sélectionnés en rétablissant la couleur
d'origine si pas de suppression. Bien entendu, il faut choisir une couleur
qui n'est pas utilisée pour tes graphiques :
Sub test()
Dim Forme As Shape, Rep, ch As ChartObject
Dim ResCouleur As Integer
Range("A1").Select
For Each Forme In ActiveSheet.Shapes
If Forme.Type <> msoChart Then
On Error Resume Next
Forme.Select
If Err.Number = 0 Then
ResCouleur = Selection.ShapeRange.Line.ForeColor.SchemeColor
Selection.ShapeRange.Line.ForeColor.SchemeColor = 10
Rep = MsgBox("Supprimer " & Forme.Name & " ?", vbOKCancel)
If Rep = 1 Then
Forme.Delete
Else
Selection.ShapeRange.Line.ForeColor.SchemeColor = ResCouleur
End If
Else
Err.Clear
End If
On Error GoTo 0
End If
Next Forme
For Each ch In ActiveSheet.ChartObjects
For Each Forme In ch.Chart.Shapes
Forme.Select
Var = Forme.Name
ResCouleur = Forme.Line.ForeColor.SchemeColor
Forme.Line.ForeColor.SchemeColor = 10
Rep = MsgBox("Supprimer " & Forme.Name & " ?", vbOKCancel)
If Rep = 1 Then
Forme.Delete
Else
Forme.Line.ForeColor.SchemeColor = ResCouleur
End If
Next Forme
Next ch
End Sub
Daniel
"J@@" <jipivert@-ifrance.com> a écrit dans le message de news:
%23xcWUHvAHHA.4740@TK2MSFTNGP03.phx.gbl...
Bonjour Daniel et merci pour ton aide
Ta proc me propose de virer les graphiques, textboxes etc, dans leur
ensemble.
Deux problèmes :
1 Je n'identifie le graphique qu'elle propose de détruire qu'après la
destruction (les graphiques ne sont pas nommés), mais peut-être qu'en
ajoutant un select, je pourrai l'identifier avant de cliquer oui.
2 De plus, ce que je souhaite c'est repérer les objets *ajoutés en plus
dans* le graphique : flèches etc, et la proc ne les voit pas.
Tu vois comment faire ? :-)
Merci pour l'aide
@+
J@@
Daniel wrote:
Bonsoir.
Essaie :
Sub test()
Dim Forme As Shape, Rep
For Each Forme In ActiveSheet.Shapes
Var = Forme.Name
On Error Resume Next
Forme.Select
If Err.Number = 0 Then
Rep = MsgBox("Supprimer " & Forme.Name & " ?", vbOKCancel)
If Rep = 1 Then Forme.Delete
Else
Err.Clear
End If
On Error GoTo 0
Next Forme
End Sub
Cordialement.
Daniel
"J@@"
Je reprends des fichiers pleins de graphiques, faits (par mézigue il y a
longtemps)avec XL2K.
Dans ces graphiques j'avais ajouté des flèches venant de la zone de
légende.
Mais parfois j'ai fait ces flèches avec celle qui est dans la barre de
dessin, alors elles se sont auto-appellées "traits", parfois je les ai
faites avec une forme automatique, elles se sont auto-appellées alors
"formes automatiques". Original, hum...
Mais ces 2 objets ne semblent pas vivre la même vie : le "trait" est
visible quand je clique dans le graphique, la format auto, au contraire
n'apparaît que quand je suis hors du graphique..
La zone...
Comment, svp, avec VBA, je peux lister ces objets dans tous les
graphiques d'une feuille, et comment je peux, à la demande, assassiner
ceux qui ne me reviennent pas.
Bonjour. J'ai éliminé les graphiques de la sélection. Curieusement, bien que le trait soit sélectionné, le fait d'afficher une msgbox fait que la sélection n'est pas visible. Pour contourner le pb, j'ai coloré en rouge les éléments sélectionnés en rétablissant la couleur d'origine si pas de suppression. Bien entendu, il faut choisir une couleur qui n'est pas utilisée pour tes graphiques :
Sub test() Dim Forme As Shape, Rep, ch As ChartObject Dim ResCouleur As Integer Range("A1").Select For Each Forme In ActiveSheet.Shapes If Forme.Type <> msoChart Then On Error Resume Next Forme.Select If Err.Number = 0 Then ResCouleur = Selection.ShapeRange.Line.ForeColor.SchemeColor Selection.ShapeRange.Line.ForeColor.SchemeColor = 10 Rep = MsgBox("Supprimer " & Forme.Name & " ?", vbOKCancel) If Rep = 1 Then Forme.Delete Else Selection.ShapeRange.Line.ForeColor.SchemeColor = ResCouleur End If Else Err.Clear End If On Error GoTo 0 End If Next Forme For Each ch In ActiveSheet.ChartObjects For Each Forme In ch.Chart.Shapes Forme.Select Var = Forme.Name ResCouleur = Forme.Line.ForeColor.SchemeColor Forme.Line.ForeColor.SchemeColor = 10 Rep = MsgBox("Supprimer " & Forme.Name & " ?", vbOKCancel) If Rep = 1 Then Forme.Delete Else Forme.Line.ForeColor.SchemeColor = ResCouleur End If Next Forme Next ch End Sub
Daniel "J@@" a écrit dans le message de news: %
Bonjour Daniel et merci pour ton aide Ta proc me propose de virer les graphiques, textboxes etc, dans leur ensemble.
Deux problèmes : 1 Je n'identifie le graphique qu'elle propose de détruire qu'après la destruction (les graphiques ne sont pas nommés), mais peut-être qu'en ajoutant un select, je pourrai l'identifier avant de cliquer oui. 2 De plus, ce que je souhaite c'est repérer les objets *ajoutés en plus dans* le graphique : flèches etc, et la proc ne les voit pas.
Tu vois comment faire ? :-) Merci pour l'aide @+ J@@
Daniel wrote:
Bonsoir. Essaie :
Sub test() Dim Forme As Shape, Rep For Each Forme In ActiveSheet.Shapes Var = Forme.Name On Error Resume Next Forme.Select If Err.Number = 0 Then Rep = MsgBox("Supprimer " & Forme.Name & " ?", vbOKCancel) If Rep = 1 Then Forme.Delete Else Err.Clear End If On Error GoTo 0 Next Forme End Sub
Cordialement. Daniel "J@@"
Je reprends des fichiers pleins de graphiques, faits (par mézigue il y a longtemps)avec XL2K.
Dans ces graphiques j'avais ajouté des flèches venant de la zone de légende.
Mais parfois j'ai fait ces flèches avec celle qui est dans la barre de dessin, alors elles se sont auto-appellées "traits", parfois je les ai faites avec une forme automatique, elles se sont auto-appellées alors "formes automatiques". Original, hum...
Mais ces 2 objets ne semblent pas vivre la même vie : le "trait" est visible quand je clique dans le graphique, la format auto, au contraire n'apparaît que quand je suis hors du graphique..
La zone...
Comment, svp, avec VBA, je peux lister ces objets dans tous les graphiques d'une feuille, et comment je peux, à la demande, assassiner ceux qui ne me reviennent pas.