J'ai fichier Excel avec quelques opérations qui de part avance sont longues
: si, recherchev, etc.
Dans mon cas, certaines macros ne font que copier des données saisies par un
utilisateur, puis les coller sur feuille, et ensuite masquer les lignes
vides (Opérations de bases).
Seulement, plus je fais appel à cette macro et plus elle est met de temps a
s'exécuter. J'ai essayé en annulant la mise à jour de l'écran et en annulant
le calcul automatique, mais la différence n'est pas fulgurante.
La seule solution efficace pour regagner en rapidité est de Fermer Excel
puis de l'ouvrir à nouveau.
Est-ce que quelqu'un connait une solution pour que ceci soit fait
automatiquement ? a mon avis cela revient en quelque sorte à vider une
mémoire tampon, mais impossible de trouver comment faire).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Philippe.R
Bonjour,
Il est possible qu'avec des ajouts et suppressions fréquentes de données, la taille du UsedRange augmente considérablement ; pour t'en assurer, exécute la combinaison de touches ctrl + fin sur tes différentes feuilles. Si la sélection se retrouve sur une zone lointaine inutilisée de la feuille, supprime les colonnes et les lignes inutilisées et applique le code suivant :
Sub limite() 'Réduit la taille du fichier en limitant la taille de la feuille à la plage de cellule ' effectivement utilisée (en supprimant la trace d'anciennes sélections plus larges) For i = 1 To Sheets.Count Sheets(i).Activate [a1].Select ActiveSheet.UsedRange Next i Sheets(1).Activate End Sub
-- Avec plaisir http://dj.joss.free.fr/trombine.htm Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Vincent35" a écrit dans le message de news:
Bonjour à tous,
J'ai fichier Excel avec quelques opérations qui de part avance sont longues : si, recherchev, etc.
Dans mon cas, certaines macros ne font que copier des données saisies par un utilisateur, puis les coller sur feuille, et ensuite masquer les lignes vides (Opérations de bases).
Seulement, plus je fais appel à cette macro et plus elle est met de temps a s'exécuter. J'ai essayé en annulant la mise à jour de l'écran et en annulant le calcul automatique, mais la différence n'est pas fulgurante.
La seule solution efficace pour regagner en rapidité est de Fermer Excel puis de l'ouvrir à nouveau.
Est-ce que quelqu'un connait une solution pour que ceci soit fait automatiquement ? a mon avis cela revient en quelque sorte à vider une mémoire tampon, mais impossible de trouver comment faire).
Merci d'avance
Vincent
Bonjour,
Il est possible qu'avec des ajouts et suppressions fréquentes de données, la
taille du UsedRange augmente considérablement ; pour t'en assurer, exécute
la combinaison de touches ctrl + fin sur tes différentes feuilles.
Si la sélection se retrouve sur une zone lointaine inutilisée de la feuille,
supprime les colonnes et les lignes inutilisées et applique le code suivant
:
Sub limite()
'Réduit la taille du fichier en limitant la taille de la feuille à la plage
de cellule
' effectivement utilisée (en supprimant la trace d'anciennes sélections
plus larges)
For i = 1 To Sheets.Count
Sheets(i).Activate
[a1].Select
ActiveSheet.UsedRange
Next i
Sheets(1).Activate
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Vincent35" <vincent.ballard@laposte.net> a écrit dans le message de
news:eivubOhUIHA.4740@TK2MSFTNGP02.phx.gbl...
Bonjour à tous,
J'ai fichier Excel avec quelques opérations qui de part avance sont
longues : si, recherchev, etc.
Dans mon cas, certaines macros ne font que copier des données saisies par
un utilisateur, puis les coller sur feuille, et ensuite masquer les lignes
vides (Opérations de bases).
Seulement, plus je fais appel à cette macro et plus elle est met de temps
a s'exécuter. J'ai essayé en annulant la mise à jour de l'écran et en
annulant le calcul automatique, mais la différence n'est pas fulgurante.
La seule solution efficace pour regagner en rapidité est de Fermer Excel
puis de l'ouvrir à nouveau.
Est-ce que quelqu'un connait une solution pour que ceci soit fait
automatiquement ? a mon avis cela revient en quelque sorte à vider une
mémoire tampon, mais impossible de trouver comment faire).
Il est possible qu'avec des ajouts et suppressions fréquentes de données, la taille du UsedRange augmente considérablement ; pour t'en assurer, exécute la combinaison de touches ctrl + fin sur tes différentes feuilles. Si la sélection se retrouve sur une zone lointaine inutilisée de la feuille, supprime les colonnes et les lignes inutilisées et applique le code suivant :
Sub limite() 'Réduit la taille du fichier en limitant la taille de la feuille à la plage de cellule ' effectivement utilisée (en supprimant la trace d'anciennes sélections plus larges) For i = 1 To Sheets.Count Sheets(i).Activate [a1].Select ActiveSheet.UsedRange Next i Sheets(1).Activate End Sub
-- Avec plaisir http://dj.joss.free.fr/trombine.htm Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Vincent35" a écrit dans le message de news:
Bonjour à tous,
J'ai fichier Excel avec quelques opérations qui de part avance sont longues : si, recherchev, etc.
Dans mon cas, certaines macros ne font que copier des données saisies par un utilisateur, puis les coller sur feuille, et ensuite masquer les lignes vides (Opérations de bases).
Seulement, plus je fais appel à cette macro et plus elle est met de temps a s'exécuter. J'ai essayé en annulant la mise à jour de l'écran et en annulant le calcul automatique, mais la différence n'est pas fulgurante.
La seule solution efficace pour regagner en rapidité est de Fermer Excel puis de l'ouvrir à nouveau.
Est-ce que quelqu'un connait une solution pour que ceci soit fait automatiquement ? a mon avis cela revient en quelque sorte à vider une mémoire tampon, mais impossible de trouver comment faire).