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

Comment faire pour réduire le volume d'un fichier

4 réponses
Avatar
Myriam Charlebois
Bonjour,

Je me pose une question comment puis-je faire pour réduire le volume d'un
fichier sans nécessairement changer le résultat des formules.....

4 réponses

Avatar
Philippe.R
Bonsoir Myriam,
Tu peux essayer avec le code suivant à coller dans un module ordinaire

Sub limite()
'Réduit la taille du fichier en limitant la taille de la feuille
' à la plage de cellule effectivement utilisée
For i = 1 To Sheets.Count
Sheets(i).Activate
[a1].Select
ActiveSheet.UsedRange
Next i
Sheets(1).Activate
End Sub
--
Avec plaisir
Philippe.R
"Myriam Charlebois" a écrit
dans le message de
news:
Bonjour,

Je me pose une question comment puis-je faire pour réduire le volume d'un
fichier sans nécessairement changer le résultat des formules.....


Avatar
Myriam Charlebois
Bonjour Philippe,

que veut dire (i) et [a1]

dois-je les remplacer par le titre de l'onglet .... et la plage de cellule?

Merci d'avance!


Bonsoir Myriam,
Tu peux essayer avec le code suivant à coller dans un module ordinaire

Sub limite()
'Réduit la taille du fichier en limitant la taille de la feuille
' à la plage de cellule effectivement utilisée
For i = 1 To Sheets.Count
Sheets(i).Activate
[a1].Select
ActiveSheet.UsedRange
Next i
Sheets(1).Activate
End Sub
--
Avec plaisir
Philippe.R
"Myriam Charlebois" a écrit
dans le message de
news:
Bonjour,

Je me pose une question comment puis-je faire pour réduire le volume d'un
fichier sans nécessairement changer le résultat des formules.....






Avatar
Philippe.R
Bonsoir Myriam,
Il n'est pas nécessaire de remplacer un élément dans le code que je t'ai
fourni
dans l'expression Sheets(i), i est une variable qui représente le numéro
d'index de la feuille (sa position) dans le classeur et l'instruction For i
= 1 To Sheets.Count la fait varier de 1 au nombre de feuilles contenues dans
le classeur.
[a1] est ici une manière abusive d'écrire Range("A1"), c'est à dire la
cellule A1 que le code fait sélectionner avant de redéfinir la plage utile
de la feuille (UsedRange) de manière à éviter qu'une cellule lointaine ne
reste sélectionnée, faussant ainsi le redimensionnement.
Le fait de redéfinir la plage utile de chaque feuille à son strict
nécessaire peut réduire la taille du fichier et accélérer les calculs, car
Excel garde en mémoire la trace de toutes les actions menées sur une feuille
dans une cellule quelconque même s'il n'y a plus rien ; et l'ensemble de la
plage définie par A1 et la cellule la plus éloignée qui aura été utilisée
sera gérée en permanence.
Sur un classeur vierge, tu peux faire le test suivant :
la feuille s'ouvre avec A1 sélectionnée
exécute la combinaison de touches Ctrl + Fin
la cellule sélectionnée reste A1
Sélectionne maintenant la cellule G24 et applique lui une couleur de fond
à l'aide de la palette, supprime cette couleur de fond (il n'y a donc plus
rien en G24)
replace toi en A1 et exécute à nouveau la combinaison de touches Ctrl + Fin

--
Avec plaisir
Philippe.R
"Myriam Charlebois" a écrit
dans le message de
news:
Bonjour Philippe,

que veut dire (i) et [a1]

dois-je les remplacer par le titre de l'onglet .... et la plage de
cellule?

Merci d'avance!


Bonsoir Myriam,
Tu peux essayer avec le code suivant à coller dans un module ordinaire

Sub limite()
'Réduit la taille du fichier en limitant la taille de la feuille
' à la plage de cellule effectivement utilisée
For i = 1 To Sheets.Count
Sheets(i).Activate
[a1].Select
ActiveSheet.UsedRange
Next i
Sheets(1).Activate
End Sub
--
Avec plaisir
Philippe.R
"Myriam Charlebois" a écrit
dans le message de
news:
Bonjour,

Je me pose une question comment puis-je faire pour réduire le volume
d'un
fichier sans nécessairement changer le résultat des formules.....








Avatar
Myriam C.
Merci bcp pour ton aide!


Bonsoir Myriam,
Il n'est pas nécessaire de remplacer un élément dans le code que je t'ai
fourni
dans l'expression Sheets(i), i est une variable qui représente le numéro
d'index de la feuille (sa position) dans le classeur et l'instruction For i
= 1 To Sheets.Count la fait varier de 1 au nombre de feuilles contenues dans
le classeur.
[a1] est ici une manière abusive d'écrire Range("A1"), c'est à dire la
cellule A1 que le code fait sélectionner avant de redéfinir la plage utile
de la feuille (UsedRange) de manière à éviter qu'une cellule lointaine ne
reste sélectionnée, faussant ainsi le redimensionnement.
Le fait de redéfinir la plage utile de chaque feuille à son strict
nécessaire peut réduire la taille du fichier et accélérer les calculs, car
Excel garde en mémoire la trace de toutes les actions menées sur une feuille
dans une cellule quelconque même s'il n'y a plus rien ; et l'ensemble de la
plage définie par A1 et la cellule la plus éloignée qui aura été utilisée
sera gérée en permanence.
Sur un classeur vierge, tu peux faire le test suivant :
la feuille s'ouvre avec A1 sélectionnée
exécute la combinaison de touches Ctrl + Fin
la cellule sélectionnée reste A1
Sélectionne maintenant la cellule G24 et applique lui une couleur de fond
à l'aide de la palette, supprime cette couleur de fond (il n'y a donc plus
rien en G24)
replace toi en A1 et exécute à nouveau la combinaison de touches Ctrl + Fin

--
Avec plaisir
Philippe.R
"Myriam Charlebois" a écrit
dans le message de
news:
Bonjour Philippe,

que veut dire (i) et [a1]

dois-je les remplacer par le titre de l'onglet .... et la plage de
cellule?

Merci d'avance!


Bonsoir Myriam,
Tu peux essayer avec le code suivant à coller dans un module ordinaire

Sub limite()
'Réduit la taille du fichier en limitant la taille de la feuille
' à la plage de cellule effectivement utilisée
For i = 1 To Sheets.Count
Sheets(i).Activate
[a1].Select
ActiveSheet.UsedRange
Next i
Sheets(1).Activate
End Sub
--
Avec plaisir
Philippe.R
"Myriam Charlebois" a écrit
dans le message de
news:
Bonjour,

Je me pose une question comment puis-je faire pour réduire le volume
d'un
fichier sans nécessairement changer le résultat des formules.....