Comment mettre à jour le usedRange

Le
FdeCourt
Bonjour,

Dans un classeur, j'ai une feuille dans laquel le UserRange est
complètement faux.
Mon tableau fait 60 lignes sur 25 colonnes, or le UsedRange comprend
l'intégralité de la feuille (jusqu'à la cellule IV65536) ce qui rend
mon classeur beaucoup plus lourd.
J'ai affiché toutes les lignes, puis je les ai toutes supprimées
(bouton de droite Supprimer, ou CTRL + -), puis j'ai essayé par
macro :
Set objCell = ActiveSheet.Cells(.Rows.Count, "A").End(xlUp)
ActiveSheet.Range(objCell.Offset(1, 0), _
.Cells(.Rows.Count, "A")).EntireRow.Clear

Or mon UsedRange ne s'est pas réinitialisé, il comprend toujours
l'intégralité de ma feuille.

J'ai essayé les macros de Jacques Chaussard et Denis Michon (ménage),
celle Laurent Longre (Nettoie) et Debra Dalgleish (DeleteUnused), mais
rien à faire !

Toutes les idées sont les bienvenues.

Merci

Cordialement,

F.
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
Daniel.C
Le #20713261
Bonjour.
Après la suppression des lignes et des colonnes, il faut enregistrer le
classeur.
Cordialement.
Daniel

Bonjour,

Dans un classeur, j'ai une feuille dans laquel le UserRange est
complètement faux.
Mon tableau fait 60 lignes sur 25 colonnes, or le UsedRange comprend
l'intégralité de la feuille (jusqu'à la cellule IV65536) ce qui rend
mon classeur beaucoup plus lourd.
J'ai affiché toutes les lignes, puis je les ai toutes supprimées
(bouton de droite Supprimer, ou CTRL + -), puis j'ai essayé par
macro :
Set objCell = ActiveSheet.Cells(.Rows.Count, "A").End(xlUp)
ActiveSheet.Range(objCell.Offset(1, 0), _
.Cells(.Rows.Count, "A")).EntireRow.Clear

Or mon UsedRange ne s'est pas réinitialisé, il comprend toujours
l'intégralité de ma feuille.

J'ai essayé les macros de Jacques Chaussard et Denis Michon (ménage),
celle Laurent Longre (Nettoie) et Debra Dalgleish (DeleteUnused), mais
rien à faire !

Toutes les idées sont les bienvenues.

Merci

Cordialement,

F.


JB
Le #20713251
Bonjour,

http://boisgontierjacques.free.fr/pages_site/cellules.htm#NettoyageFeuille

Sub SupLigneColTrop()
Range(Cells(Cells.Find("*", , , , xlByColumns, xlPrevious).Column +
1), Cells(1, 254)).EntireColumn.Delete
Range(Cells(Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1, 1),
Cells(65536, 1)).EntireRow.Delete
End Sub


JB
http://boisgontierjacques.free.fr

On 7 déc, 12:00, FdeCourt
Bonjour,

Dans un classeur, j'ai une feuille dans laquel le UserRange est
complètement faux.
Mon tableau fait 60 lignes sur 25 colonnes, or le UsedRange comprend
l'intégralité de la feuille (jusqu'à la cellule IV65536) ce qui ren d
mon classeur beaucoup plus lourd.
J'ai affiché toutes les lignes, puis je les ai toutes supprimées
(bouton de droite Supprimer, ou CTRL + -), puis j'ai essayé par
macro :
Set objCell = ActiveSheet.Cells(.Rows.Count, "A").End(xlUp)
ActiveSheet.Range(objCell.Offset(1, 0), _
.Cells(.Rows.Count, "A")).EntireRow.Clear

Or mon UsedRange ne s'est pas réinitialisé, il comprend toujours
l'intégralité de ma feuille.

J'ai essayé les macros de Jacques Chaussard et Denis Michon (ménage),
celle Laurent Longre (Nettoie) et Debra Dalgleish (DeleteUnused), mais
rien à faire !

Toutes les idées sont les bienvenues.

Merci

Cordialement,

F.


FS
Le #20713351
Bonjour,

Si rien de ce qui t'a été proposé ou de ce que tu as tenté ne
fonctionne, essaye de copier tes 60 lignes et 25 colonnes dans une
nouvelle feuille et de détruire ensuite la feuille récalcitrante.
Cordialement,

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

FdeCourt a écrit :
Bonjour,

Dans un classeur, j'ai une feuille dans laquel le UserRange est
complètement faux.
Mon tableau fait 60 lignes sur 25 colonnes, or le UsedRange comprend
l'intégralité de la feuille (jusqu'à la cellule IV65536) ce qui rend
mon classeur beaucoup plus lourd.
J'ai affiché toutes les lignes, puis je les ai toutes supprimées
(bouton de droite Supprimer, ou CTRL + -), puis j'ai essayé par
macro :
Set objCell = ActiveSheet.Cells(.Rows.Count, "A").End(xlUp)
ActiveSheet.Range(objCell.Offset(1, 0), _
..Cells(.Rows.Count, "A")).EntireRow.Clear

Or mon UsedRange ne s'est pas réinitialisé, il comprend toujours
l'intégralité de ma feuille.

J'ai essayé les macros de Jacques Chaussard et Denis Michon (ménage),
celle Laurent Longre (Nettoie) et Debra Dalgleish (DeleteUnused), mais
rien à faire !

Toutes les idées sont les bienvenues.

Merci

Cordialement,

F.


LSteph
Le #20713341
Bonjour,

A tout hasard, selectionne les 2 dernieres colonnes et appuie sur la
touche suppr
theoriquement cela va juste effacer du vide ou ce qui ne se voyait
pas, soit ne rien faire..
Idem opération avec les 2 dernières lignes

Maintenant que dit

MsgBox ActiveSheet.UsedRange.Address

théoriquement cele ne devrait plus raconter IV65536

Ou vérifie qu'il n'y a pas des formats qui trainent
ou de ces saletés de cellules fusionnées.

--
lSteph




On 7 déc, 12:00, FdeCourt
Bonjour,

Dans un classeur, j'ai une feuille dans laquel le UserRange est
complètement faux.
Mon tableau fait 60 lignes sur 25 colonnes, or le UsedRange comprend
l'intégralité de la feuille (jusqu'à la cellule IV65536) ce qui ren d
mon classeur beaucoup plus lourd.
J'ai affiché toutes les lignes, puis je les ai toutes supprimées
(bouton de droite Supprimer, ou CTRL + -), puis j'ai essayé par
macro :
Set objCell = ActiveSheet.Cells(.Rows.Count, "A").End(xlUp)
ActiveSheet.Range(objCell.Offset(1, 0), _
.Cells(.Rows.Count, "A")).EntireRow.Clear

Or mon UsedRange ne s'est pas réinitialisé, il comprend toujours
l'intégralité de ma feuille.

J'ai essayé les macros de Jacques Chaussard et Denis Michon (ménage),
celle Laurent Longre (Nettoie) et Debra Dalgleish (DeleteUnused), mais
rien à faire !

Toutes les idées sont les bienvenues.

Merci

Cordialement,

F.


FdeCourt
Le #20714041
C'est marrant, ca a fonctionné pour les colonnes, mais pas pour les
lignes !



On 7 déc, 12:37, LSteph
Bonjour,

A tout hasard, selectionne les 2 dernieres colonnes et appuie sur la
touche suppr
theoriquement cela va juste effacer du vide ou ce qui ne se voyait
pas, soit ne rien faire..
Idem opération avec les 2 dernières lignes

Maintenant que dit

MsgBox ActiveSheet.UsedRange.Address

théoriquement cele ne devrait plus raconter IV65536

Ou vérifie qu'il n'y a pas des formats qui trainent
ou de ces saletés de cellules fusionnées.

--
lSteph

On 7 déc, 12:00, FdeCourt
> Bonjour,

> Dans un classeur, j'ai une feuille dans laquel le UserRange est
> complètement faux.
> Mon tableau fait 60 lignes sur 25 colonnes, or le UsedRange comprend
> l'intégralité de la feuille (jusqu'à la cellule IV65536) ce qui r end
> mon classeur beaucoup plus lourd.
> J'ai affiché toutes les lignes, puis je les ai toutes supprimées
> (bouton de droite Supprimer, ou CTRL + -), puis j'ai essayé par
> macro :
> Set objCell = ActiveSheet.Cells(.Rows.Count, "A").End(xlUp)
> ActiveSheet.Range(objCell.Offset(1, 0), _
> .Cells(.Rows.Count, "A")).EntireRow.Clear

> Or mon UsedRange ne s'est pas réinitialisé, il comprend toujours
> l'intégralité de ma feuille.

> J'ai essayé les macros de Jacques Chaussard et Denis Michon (ménage ),
> celle Laurent Longre (Nettoie) et Debra Dalgleish (DeleteUnused), mais
> rien à faire !

> Toutes les idées sont les bienvenues.

> Merci

> Cordialement,

> F.


FdeCourt
Le #20714011
Nop, cela ne fonctionne pas non plus !

On 7 déc, 12:25, JB
Bonjour,

http://boisgontierjacques.free.fr/pages_site/cellules.htm#NettoyageFe...

Sub SupLigneColTrop()
  Range(Cells(Cells.Find("*", , , , xlByColumns, xlPrevious).Column +
1), Cells(1, 254)).EntireColumn.Delete
  Range(Cells(Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1, 1),
Cells(65536, 1)).EntireRow.Delete
End Sub

JBhttp://boisgontierjacques.free.fr

On 7 déc, 12:00, FdeCourt
> Bonjour,

> Dans un classeur, j'ai une feuille dans laquel le UserRange est
> complètement faux.
> Mon tableau fait 60 lignes sur 25 colonnes, or le UsedRange comprend
> l'intégralité de la feuille (jusqu'à la cellule IV65536) ce qui r end
> mon classeur beaucoup plus lourd.
> J'ai affiché toutes les lignes, puis je les ai toutes supprimées
> (bouton de droite Supprimer, ou CTRL + -), puis j'ai essayé par
> macro :
> Set objCell = ActiveSheet.Cells(.Rows.Count, "A").End(xlUp)
> ActiveSheet.Range(objCell.Offset(1, 0), _
> .Cells(.Rows.Count, "A")).EntireRow.Clear

> Or mon UsedRange ne s'est pas réinitialisé, il comprend toujours
> l'intégralité de ma feuille.

> J'ai essayé les macros de Jacques Chaussard et Denis Michon (ménage ),
> celle Laurent Longre (Nettoie) et Debra Dalgleish (DeleteUnused), mais
> rien à faire !

> Toutes les idées sont les bienvenues.

> Merci

> Cordialement,

> F.


LSteph
Le #20714001
re,

devait donc y avoir qqchose qui l'affectait indirectement mais pas la
ligne
un format une validation ou que sais-je...

@+

--
lSteph

On 7 déc, 14:05, FdeCourt
C'est marrant, ca a fonctionné pour les colonnes, mais pas pour les
lignes !

On 7 déc, 12:37, LSteph


> Bonjour,

> A tout hasard, selectionne les 2 dernieres colonnes et appuie sur la
> touche suppr
> theoriquement cela va juste effacer du vide ou ce qui ne se voyait
> pas, soit ne rien faire..
> Idem opération avec les 2 dernières lignes

> Maintenant que dit

> MsgBox ActiveSheet.UsedRange.Address

> théoriquement cele ne devrait plus raconter IV65536

> Ou vérifie qu'il n'y a pas des formats qui trainent
> ou de ces saletés de cellules fusionnées.

> --
> lSteph

> On 7 déc, 12:00, FdeCourt
> > Bonjour,

> > Dans un classeur, j'ai une feuille dans laquel le UserRange est
> > complètement faux.
> > Mon tableau fait 60 lignes sur 25 colonnes, or le UsedRange comprend
> > l'intégralité de la feuille (jusqu'à la cellule IV65536) ce qui rend
> > mon classeur beaucoup plus lourd.
> > J'ai affiché toutes les lignes, puis je les ai toutes supprimées
> > (bouton de droite Supprimer, ou CTRL + -), puis j'ai essayé par
> > macro :
> > Set objCell = ActiveSheet.Cells(.Rows.Count, "A").End(xlUp)
> > ActiveSheet.Range(objCell.Offset(1, 0), _
> > .Cells(.Rows.Count, "A")).EntireRow.Clear

> > Or mon UsedRange ne s'est pas réinitialisé, il comprend toujours
> > l'intégralité de ma feuille.

> > J'ai essayé les macros de Jacques Chaussard et Denis Michon (ména ge),
> > celle Laurent Longre (Nettoie) et Debra Dalgleish (DeleteUnused), mai s
> > rien à faire !

> > Toutes les idées sont les bienvenues.

> > Merci

> > Cordialement,

> > F.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


FdeCourt
Le #20713981
Sans avoir trouver d'autre solution, c'est ce que je vais faire :(
Mais c'est quand même étrange !

On 7 déc, 12:34, FS
Bonjour,

Si rien de ce qui t'a été proposé ou de ce que tu as tenté ne
fonctionne, essaye de copier tes 60 lignes et 25 colonnes dans une
nouvelle feuille et de détruire ensuite la feuille récalcitrante.
Cordialement,

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :http://frederic.sigonneau.free.fr/

FdeCourt a écrit :

> Bonjour,

> Dans un classeur, j'ai une feuille dans laquel le UserRange est
> complètement faux.
> Mon tableau fait 60 lignes sur 25 colonnes, or le UsedRange comprend
> l'intégralité de la feuille (jusqu'à la cellule IV65536) ce qui r end
> mon classeur beaucoup plus lourd.
> J'ai affiché toutes les lignes, puis je les ai toutes supprimées
> (bouton de droite Supprimer, ou CTRL + -), puis j'ai essayé par
> macro :
> Set objCell = ActiveSheet.Cells(.Rows.Count, "A").End(xlUp)
> ActiveSheet.Range(objCell.Offset(1, 0), _
> ..Cells(.Rows.Count, "A")).EntireRow.Clear

> Or mon UsedRange ne s'est pas réinitialisé, il comprend toujours
> l'intégralité de ma feuille.

> J'ai essayé les macros de Jacques Chaussard et Denis Michon (ménage ),
> celle Laurent Longre (Nettoie) et Debra Dalgleish (DeleteUnused), mais
> rien à faire !

> Toutes les idées sont les bienvenues.

> Merci

> Cordialement,

> F.


Publicité
Poster une réponse
Anonyme