Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

nettoyage de feuille

8 réponses
Avatar
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.

8 réponses

Avatar
JB
Bonjour

Columns("a:iv").Delete

-Sauvegarder

JB

On 24 mar, 09:47, Michel (pen ar bed) wrote:
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.


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

Columns("a:iv").Delete

-Sauvegarder

JB

On 24 mar, 09:47, Michel (pen ar bed) wrote:
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


Avatar
Frédéric Sigonneau
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.




Avatar
MichDenis
| 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.




Avatar
Michel (pen ar bed)
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.

Avatar
Frédéric Sigonneau
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.








Avatar
MichDenis
| 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".
Avatar
Michel (pen ar bed)
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.