OVH Cloud OVH Cloud

drawingobjects

9 réponses
Avatar
fredbzr
Bonsoir à tous

je reviens à nouveau vers le forum car je ne trouve pas de solution à mon
problème.
Sur un plan, j'ai mis des "drawing objects" qui doivent s'effacer à chaque
nouvelle commande.
L'inconvénient majeur que je n'arrive pas a solutionner est que le code :
activesheet.drawingobjects.delete m'efface également les boutons de
commandes qui se trouvent sur ma feuille.
Comment effacer ces drawingobjects sans effacer mes boutons?
Est-il possible de n'effacer que certain de ces objets.

Merci de votre coup de main

Fred

9 réponses

Avatar
Daniel
Bonsoir.
Remplace "Button 1" par le nom de ton ou tes objet(s) à conserver :

Sub test()
For Each dwo In ActiveSheet.DrawingObjects
If dwo.Name <> "Button 1" Then
dwo.Delete
End If
Next
End Sub

Cordialement.
Daniel
"fredbzr" a écrit dans le message de news:
455cdaea$0$27371$
Bonsoir à tous

je reviens à nouveau vers le forum car je ne trouve pas de solution à mon
problème.
Sur un plan, j'ai mis des "drawing objects" qui doivent s'effacer à chaque
nouvelle commande.
L'inconvénient majeur que je n'arrive pas a solutionner est que le code :
activesheet.drawingobjects.delete m'efface également les boutons de
commandes qui se trouvent sur ma feuille.
Comment effacer ces drawingobjects sans effacer mes boutons?
Est-il possible de n'effacer que certain de ces objets.

Merci de votre coup de main

Fred



Avatar
Garette
Bonjour,

Avec ce bout de code on n'efface que les objets dessinés.
Ca n'efface pas les boutons ni les zones de texte ni les fleches ...

Sub EffaceNotes()
Set LesObjets = ActiveSheet.Shapes
For Each x In LesObjets
If x.Type = 1 Then x.Delete
Next
End Sub

Elle scanne tous les objets shape et si le type = 1 elle efface.
Type=1 pour les ovales, rectangles etc ..
Bouton = type 8
Ligne = type 9
Text Box = type 17

On doit pouvoir retrouver tout ça dans l'aide ou utiliser la petite macro
suivante pour avoir le N° du type et le nom :
Sub TypeNom()
Set LesObjets = ActiveSheet.Shapes
For Each x In LesObjets
MsgBox x.Type & " " & x.Name
Next
End Sub
Avatar
MichDenis
Tu aurais avantage à décrire ce que tu entends par "drawingobjects"

Cette collection regroupe essentiellement tous les objets que l'on appelle aujoud'hui "Shapes"







"fredbzr" a écrit dans le message de news:
455cdaea$0$27371$
Bonsoir à tous

je reviens à nouveau vers le forum car je ne trouve pas de solution à mon
problème.
Sur un plan, j'ai mis des "drawing objects" qui doivent s'effacer à chaque
nouvelle commande.
L'inconvénient majeur que je n'arrive pas a solutionner est que le code :
activesheet.drawingobjects.delete m'efface également les boutons de
commandes qui se trouvent sur ma feuille.
Comment effacer ces drawingobjects sans effacer mes boutons?
Est-il possible de n'effacer que certain de ces objets.

Merci de votre coup de main

Fred
Avatar
JB
Bonjour,

Sub Efface()
For Each i In ActiveSheet.Shapes
If Left(i.Name, 6)<> "Bouton" Then
ActiveSheet.Shapes(i.Name).Delete
End If
Next i
End Sub

Cordialement JB


Bonsoir à tous

je reviens à nouveau vers le forum car je ne trouve pas de solution à mon
problème.
Sur un plan, j'ai mis des "drawing objects" qui doivent s'effacer à cha que
nouvelle commande.
L'inconvénient majeur que je n'arrive pas a solutionner est que le code :
activesheet.drawingobjects.delete m'efface également les boutons de
commandes qui se trouvent sur ma feuille.
Comment effacer ces drawingobjects sans effacer mes boutons?
Est-il possible de n'effacer que certain de ces objets.

Merci de votre coup de main

Fred


Avatar
jps
...en espérant qu'il ne s'agisse pas de commandbuttons....mais bon, fred
n'aura qu'à adapter
jps

"JB" a écrit dans le message de news:

Bonjour,

Sub Efface()
For Each i In ActiveSheet.Shapes
If Left(i.Name, 6)<> "Bouton" Then
ActiveSheet.Shapes(i.Name).Delete
End If
Next i
End Sub

Cordialement JB


Bonsoir à tous

je reviens à nouveau vers le forum car je ne trouve pas de solution à mon
problème.
Sur un plan, j'ai mis des "drawing objects" qui doivent s'effacer à chaque
nouvelle commande.
L'inconvénient majeur que je n'arrive pas a solutionner est que le code :
activesheet.drawingobjects.delete m'efface également les boutons de
commandes qui se trouvent sur ma feuille.
Comment effacer ces drawingobjects sans effacer mes boutons?
Est-il possible de n'effacer que certain de ces objets.

Merci de votre coup de main

Fred


Avatar
fredbzr
Bonjour à tous

Un grand merci pour vos réponses
je vais de ce pas essayer tout çà

merci à vous tous et bonne journée
"jps" a écrit dans le message de news:

...en espérant qu'il ne s'agisse pas de commandbuttons....mais bon, fred
n'aura qu'à adapter
jps

"JB" a écrit dans le message de news:

Bonjour,

Sub Efface()
For Each i In ActiveSheet.Shapes
If Left(i.Name, 6)<> "Bouton" Then
ActiveSheet.Shapes(i.Name).Delete
End If
Next i
End Sub

Cordialement JB


Bonsoir à tous

je reviens à nouveau vers le forum car je ne trouve pas de solution à mon
problème.
Sur un plan, j'ai mis des "drawing objects" qui doivent s'effacer à
chaque
nouvelle commande.
L'inconvénient majeur que je n'arrive pas a solutionner est que le code :
activesheet.drawingobjects.delete m'efface également les boutons de
commandes qui se trouvent sur ma feuille.
Comment effacer ces drawingobjects sans effacer mes boutons?
Est-il possible de n'effacer que certain de ces objets.

Merci de votre coup de main

Fred






Avatar
JB
Bonjour,

Sub EffaceBoutons()
For Each i In ActiveSheet.Shapes
If i.Type <> 8 And i.Type <> 12 Then
ActiveSheet.Shapes(i.Name).Delete
End If
Next i
End Sub

Cordialement JB


...en espérant qu'il ne s'agisse pas de commandbuttons....mais bon, fred
n'aura qu'à adapter
jps

"JB" a écrit dans le message de news:

Bonjour,

Sub Efface()
For Each i In ActiveSheet.Shapes
If Left(i.Name, 6)<> "Bouton" Then
ActiveSheet.Shapes(i.Name).Delete
End If
Next i
End Sub

Cordialement JB


Bonsoir à tous

je reviens à nouveau vers le forum car je ne trouve pas de solution à mon
problème.
Sur un plan, j'ai mis des "drawing objects" qui doivent s'effacer à c haque
nouvelle commande.
L'inconvénient majeur que je n'arrive pas a solutionner est que le co de :
activesheet.drawingobjects.delete m'efface également les boutons de
commandes qui se trouvent sur ma feuille.
Comment effacer ces drawingobjects sans effacer mes boutons?
Est-il possible de n'effacer que certain de ces objets.

Merci de votre coup de main

Fred




Avatar
jps
:-)))
jps

"JB" a écrit dans le message de news:

Bonjour,

Sub EffaceBoutons()
For Each i In ActiveSheet.Shapes
If i.Type <> 8 And i.Type <> 12 Then
ActiveSheet.Shapes(i.Name).Delete
End If
Next i
End Sub

Cordialement JB


...en espérant qu'il ne s'agisse pas de commandbuttons....mais bon, fred
n'aura qu'à adapter
jps

"JB" a écrit dans le message de news:

Bonjour,

Sub Efface()
For Each i In ActiveSheet.Shapes
If Left(i.Name, 6)<> "Bouton" Then
ActiveSheet.Shapes(i.Name).Delete
End If
Next i
End Sub

Cordialement JB


Bonsoir à tous

je reviens à nouveau vers le forum car je ne trouve pas de solution à
mon
problème.
Sur un plan, j'ai mis des "drawing objects" qui doivent s'effacer à
chaque
nouvelle commande.
L'inconvénient majeur que je n'arrive pas a solutionner est que le code
:
activesheet.drawingobjects.delete m'efface également les boutons de
commandes qui se trouvent sur ma feuille.
Comment effacer ces drawingobjects sans effacer mes boutons?
Est-il possible de n'effacer que certain de ces objets.

Merci de votre coup de main

Fred




Avatar
MichDenis
De toute façon, peu importe la macro suggérée...
si dans ta feuille tu as des listes de validation au niveau
des cellules de la feuille ou des commentaires, tu risques
de ne pas trouver l'exécution de cette macro drôle !!!


"jps" a écrit dans le message de news:
:-)))
jps

"JB" a écrit dans le message de news:

Bonjour,

Sub EffaceBoutons()
For Each i In ActiveSheet.Shapes
If i.Type <> 8 And i.Type <> 12 Then
ActiveSheet.Shapes(i.Name).Delete
End If
Next i
End Sub

Cordialement JB


...en espérant qu'il ne s'agisse pas de commandbuttons....mais bon, fred
n'aura qu'à adapter
jps

"JB" a écrit dans le message de news:

Bonjour,

Sub Efface()
For Each i In ActiveSheet.Shapes
If Left(i.Name, 6)<> "Bouton" Then
ActiveSheet.Shapes(i.Name).Delete
End If
Next i
End Sub

Cordialement JB


Bonsoir à tous

je reviens à nouveau vers le forum car je ne trouve pas de solution à
mon
problème.
Sur un plan, j'ai mis des "drawing objects" qui doivent s'effacer à
chaque
nouvelle commande.
L'inconvénient majeur que je n'arrive pas a solutionner est que le code
:
activesheet.drawingobjects.delete m'efface également les boutons de
commandes qui se trouvent sur ma feuille.
Comment effacer ces drawingobjects sans effacer mes boutons?
Est-il possible de n'effacer que certain de ces objets.

Merci de votre coup de main

Fred