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

Comment mettre à jour le usedRange

8 réponses
Avatar
FdeCourt
Bonjour,

Dans un classeur, j'ai une feuille dans laquel le UserRange est
compl=E8tement faux.
Mon tableau fait 60 lignes sur 25 colonnes, or le UsedRange comprend
l'int=E9gralit=E9 de la feuille (jusqu'=E0 la cellule IV65536) ce qui rend
mon classeur beaucoup plus lourd.
J'ai affich=E9 toutes les lignes, puis je les ai toutes supprim=E9es
(bouton de droite Supprimer, ou CTRL + -), puis j'ai essay=E9 par
macro :
Set objCell =3D 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=E9initialis=E9, il comprend toujours
l'int=E9gralit=E9 de ma feuille.

J'ai essay=E9 les macros de Jacques Chaussard et Denis Michon (m=E9nage),
celle Laurent Longre (Nettoie) et Debra Dalgleish (DeleteUnused), mais
rien =E0 faire !

Toutes les id=E9es sont les bienvenues.

Merci

Cordialement,

F.

8 réponses

Avatar
Daniel.C
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.


Avatar
JB
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 wrote:
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.


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


Avatar
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 wrote:
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.


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



On 7 déc, 12:37, LSteph wrote:
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 wrote:

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


Avatar
FdeCourt
Nop, cela ne fonctionne pas non plus !

On 7 déc, 12:25, JB wrote:
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 wrote:

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


Avatar
LSteph
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 wrote:
C'est marrant, ca a fonctionné pour les colonnes, mais pas pour les
lignes !

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



> 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 wrote:

> > 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 -


Avatar
FdeCourt
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 wrote:
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.