nettoyage de feuille

Le
Michel (pen ar bed)
Bonjour,

J'ai trouvé un bout de code qui nettoie une feuille, contenu et
formatage
--
Dim OB As Object
For Each OB In ActiveSheet.Shapes
OB.Delete
Next
Set OB = Nothing
-

Cela fonctionne bien, seulement si je me positionne sur la cellule A1
et fais "ctrl shift fin" je m'aperçois que la sélection va de A1
jusqu'à CA30 comment faire pour qu'il n'y est plus que A1 comme si la
feuille venait d'être crée

Merci de l'aide

M.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #5330841
Bonjour

Columns("a:iv").Delete

-Sauvegarder

JB

On 24 mar, 09:47, Michel (pen ar bed)
Bonjour,

J'ai trouvé un bout de code qui nettoie une feuille, contenu et
formatage
--------------------------------------
Dim OB As Object
For Each OB In ActiveSheet.Shapes
OB.Delete
Next
Set OB = Nothing
----------------------------------------------

Cela fonctionne bien, seulement si je me positionne sur la cellule A1
et fais "ctrl shift fin" je m'aperçois que la sélection va de A1
jusqu'à CA30 comment faire pour qu'il n'y est plus que A1 comme si la
feuille venait d'être crée

Merci de l'aide

M.


Michel (pen ar bed)
Le #5330811
JB avait écrit le 24/03/2008 :
Bonjour

Columns("a:iv").Delete

-Sauvegarder

JB

On 24 mar, 09:47, Michel (pen ar bed)
Bonjour,

J'ai trouvé un bout de code qui nettoie une feuille, contenu et
formatage
--------------------------------------
Dim OB As Object
For Each OB In ActiveSheet.Shapes
OB.Delete
Next
Set OB = Nothing
----------------------------------------------

Cela fonctionne bien, seulement si je me positionne sur la cellule A1
et fais "ctrl shift fin" je m'aperçois que la sélection va de A1
jusqu'à CA30 comment faire pour qu'il n'y est plus que A1 comme si la
feuille venait d'être crée

Merci de l'aide

M.



Merci


Frédéric Sigonneau
Le #5330601
J'ai trouvé un bout de code qui nettoie une feuille, contenu et formatage


Pour ce genre de travail, une boucle n'est pas indispensable :

ActiveSheet.Shapes.SelectAll
Selection.Delete

FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr

Bonjour,

J'ai trouvé un bout de code qui nettoie une feuille, contenu et formatage
--------------------------------------
Dim OB As Object
For Each OB In ActiveSheet.Shapes
OB.Delete
Next
Set OB = Nothing
----------------------------------------------

Cela fonctionne bien, seulement si je me positionne sur la cellule A1 et
fais "ctrl shift fin" je m'aperçois que la sélection va de A1 jusqu'à
CA30 comment faire pour qu'il n'y est plus que A1 comme si la feuille
venait d'être crée

Merci de l'aide

M.




MichDenis
Le #5330581
| ActiveSheet.Shapes.SelectAll
| Selection.Delete


Bonjour Frédéric,

Si dans ladite feuille, tu as au moins une cellule qui a un commentaire (l'objet
comment) ou une cellule qui a une liste (de validation / liste), les lignes de
code proposées ne fonctionnent pas. Cela provoque un message : Mémoire insuffisante


De même on ne peut utiliser le code qui suit sans "perturber grandement" les
commentaires (comments) de la feuille et les listes de validation contenues
dans les cellules.
'------------------------------
Dim OB As Object
For Each OB In ActiveSheet.Shapes
OB.Delete
Next
Set OB = Nothing
'------------------------------

Le seul code qui est valide pour faire disparaître les objets de la feuille est :

ActiveSheet.DrawingObjects.Delete

Et Comme la collection DrawingObjects est toujours supporté par excel
que pour des fins de compatibilité avec la version Excel 97, il n'y a aucune
aide sur cette collection de disponible dans les versions récentes d'Excel.



"Frédéric Sigonneau" a écrit dans le message de news:
OF3Z9$
J'ai trouvé un bout de code qui nettoie une feuille, contenu et formatage


Pour ce genre de travail, une boucle n'est pas indispensable :


FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr

Bonjour,

J'ai trouvé un bout de code qui nettoie une feuille, contenu et formatage
--------------------------------------
Dim OB As Object
For Each OB In ActiveSheet.Shapes
OB.Delete
Next
Set OB = Nothing
----------------------------------------------

Cela fonctionne bien, seulement si je me positionne sur la cellule A1 et
fais "ctrl shift fin" je m'aperçois que la sélection va de A1 jusqu'à
CA30 comment faire pour qu'il n'y est plus que A1 comme si la feuille
venait d'être crée

Merci de l'aide

M.




Michel (pen ar bed)
Le #5330571
Frédéric Sigonneau a exprimé avec précision :

Pour ce genre de travail, une boucle n'est pas indispensable :

ActiveSheet.Shapes.SelectAll
Selection.Delete

OK j'en prend bonne note

M.

Frédéric Sigonneau
Le #5330561
Le seul code qui est valide


Tu exagères un peu Denis !
Précédée d'un On Error Resume Next ma proposition est parfaitement valide !
Beaucoup moins élégante que la tienne qui ne demande qu'une ligne de code, j'en
conviens volontiers, mais pas moins valide pour autant :)

FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr

| ActiveSheet.Shapes.SelectAll
| Selection.Delete


Bonjour Frédéric,

Si dans ladite feuille, tu as au moins une cellule qui a un commentaire (l'objet
comment) ou une cellule qui a une liste (de validation / liste), les lignes de
code proposées ne fonctionnent pas. Cela provoque un message : Mémoire insuffisante


De même on ne peut utiliser le code qui suit sans "perturber grandement" les
commentaires (comments) de la feuille et les listes de validation contenues
dans les cellules.
'------------------------------
Dim OB As Object
For Each OB In ActiveSheet.Shapes
OB.Delete
Next
Set OB = Nothing
'------------------------------

Le seul code qui est valide pour faire disparaître les objets de la feuille est :

ActiveSheet.DrawingObjects.Delete

Et Comme la collection DrawingObjects est toujours supporté par excel
que pour des fins de compatibilité avec la version Excel 97, il n'y a aucune
aide sur cette collection de disponible dans les versions récentes d'Excel.



"Frédéric Sigonneau" a écrit dans le message de news:
OF3Z9$
J'ai trouvé un bout de code qui nettoie une feuille, contenu et formatage


Pour ce genre de travail, une boucle n'est pas indispensable :


FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr

Bonjour,

J'ai trouvé un bout de code qui nettoie une feuille, contenu et formatage
--------------------------------------
Dim OB As Object
For Each OB In ActiveSheet.Shapes
OB.Delete
Next
Set OB = Nothing
----------------------------------------------

Cela fonctionne bien, seulement si je me positionne sur la cellule A1 et
fais "ctrl shift fin" je m'aperçois que la sélection va de A1 jusqu'à
CA30 comment faire pour qu'il n'y est plus que A1 comme si la feuille
venait d'être crée

Merci de l'aide

M.








MichDenis
Le #5330541
| Tu exagères un peu Denis !
| Précédée d'un On Error Resume Next ma proposition est parfaitement valide !

;-)

J'en conviens... mais je voulaiis simplement attirer ton attention et surtout celle du
demandeur sur la problématique que pose la collection "Shapes" en rapport aux
"commentaires" des cellules ou des "listes de validation".
Michel (pen ar bed)
Le #5330361
MichDenis a formulé la demande :
Tu exagères un peu Denis !
Précédée d'un On Error Resume Next ma proposition est parfaitement valide !


;-)

J'en conviens... mais je voulaiis simplement attirer ton attention et surtout
celle du demandeur sur la problématique que pose la collection "Shapes" en
rapport aux "commentaires" des cellules ou des "listes de validation".


Merci à vous tous pour toutes ces explications très détaillées

M.


Publicité
Poster une réponse
Anonyme