Bonjour à tous
Dans un fichier d'une soixantaine de feuilles je récupère quelques données sur
chaque feuille que je colle dans une feuille appelée "Etat".
Avant optimisation ma sub tournait en 45 secondes, après en 35, mais c'est bien
long :-[
Quelqu'un aurait une idée??
merci
J@@ (Je n'aurai pas accès au forum pendant les 18 prochaines heures, merci
d'être patient pour le retour)
'******
Sub RecupDonnees()
Dim Feuille As Worksheet
Dim ActivationEvents As Long
Dim ModeRecalcul As Long
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
MichDenis
3 suggestions : A ) Cette syntaxe est supérieur en rapidité à ceci : .[B27] -> tu devrais utiliser ce type de syntaxe .Range("B27")
B ) Si tes enregistrements ont lieu sur la même ligne pour tous les éléments d'une même boucle, pourquoi ne pas utiliser une variable au lieu de réévaluer la cellule suivante disponible sur la colonne
Dim Ligne as Long Ligne = Worksheets("Etat").Range("B100").End(xlUp)(2).Value Et pour tes écritures dans la boucle pour chacun des items : Worksheets("Etat").Range("B" & ligne) = .Name
C ) Remplace Worksheets("Etat"). par une variable dim Sh as Worksheet Set Sh = Worksheets("Etat") Et dans ton code, tu remplaces ceci Worksheets("Etat").Range("B100").End(xlUp)(2).Value = .Name Par Sh.Range("B" & ligne) = .Name
"J@@"
nce.com> a écrit dans le message de news: % Bonjour à tous Dans un fichier d'une soixantaine de feuilles je récupère quelques données sur chaque feuille que je colle dans une feuille appelée "Etat". Avant optimisation ma sub tournait en 45 secondes, après en 35, mais c'est bien long :-[ Quelqu'un aurait une idée?? merci J@@ (Je n'aurai pas accès au forum pendant les 18 prochaines heures, merci d'être patient pour le retour)
'****** Sub RecupDonnees() Dim Feuille As Worksheet Dim ActivationEvents As Long Dim ModeRecalcul As Long
3 suggestions :
A )
Cette syntaxe est supérieur en rapidité à ceci :
.[B27] -> tu devrais utiliser ce type de syntaxe .Range("B27")
B ) Si tes enregistrements ont lieu sur la même ligne pour tous les
éléments d'une même boucle, pourquoi ne pas utiliser une variable
au lieu de réévaluer la cellule suivante disponible sur la colonne
Dim Ligne as Long
Ligne = Worksheets("Etat").Range("B100").End(xlUp)(2).Value
Et pour tes écritures dans la boucle pour chacun des items :
Worksheets("Etat").Range("B" & ligne) = .Name
C ) Remplace Worksheets("Etat"). par une variable
dim Sh as Worksheet
Set Sh = Worksheets("Etat")
Et dans ton code, tu remplaces ceci
Worksheets("Etat").Range("B100").End(xlUp)(2).Value = .Name
Par
Sh.Range("B" & ligne) = .Name
"J@@" <jipivert@-ifra
nce.com> a écrit dans le message de news: %232cEGihNHHA.4928@TK2MSFTNGP06.phx.gbl...
Bonjour à tous
Dans un fichier d'une soixantaine de feuilles je récupère quelques données sur
chaque feuille que je colle dans une feuille appelée "Etat".
Avant optimisation ma sub tournait en 45 secondes, après en 35, mais c'est bien
long :-[
Quelqu'un aurait une idée??
merci
J@@ (Je n'aurai pas accès au forum pendant les 18 prochaines heures, merci
d'être patient pour le retour)
'******
Sub RecupDonnees()
Dim Feuille As Worksheet
Dim ActivationEvents As Long
Dim ModeRecalcul As Long
3 suggestions : A ) Cette syntaxe est supérieur en rapidité à ceci : .[B27] -> tu devrais utiliser ce type de syntaxe .Range("B27")
B ) Si tes enregistrements ont lieu sur la même ligne pour tous les éléments d'une même boucle, pourquoi ne pas utiliser une variable au lieu de réévaluer la cellule suivante disponible sur la colonne
Dim Ligne as Long Ligne = Worksheets("Etat").Range("B100").End(xlUp)(2).Value Et pour tes écritures dans la boucle pour chacun des items : Worksheets("Etat").Range("B" & ligne) = .Name
C ) Remplace Worksheets("Etat"). par une variable dim Sh as Worksheet Set Sh = Worksheets("Etat") Et dans ton code, tu remplaces ceci Worksheets("Etat").Range("B100").End(xlUp)(2).Value = .Name Par Sh.Range("B" & ligne) = .Name
"J@@"
nce.com> a écrit dans le message de news: % Bonjour à tous Dans un fichier d'une soixantaine de feuilles je récupère quelques données sur chaque feuille que je colle dans une feuille appelée "Etat". Avant optimisation ma sub tournait en 45 secondes, après en 35, mais c'est bien long :-[ Quelqu'un aurait une idée?? merci J@@ (Je n'aurai pas accès au forum pendant les 18 prochaines heures, merci d'être patient pour le retour)
'****** Sub RecupDonnees() Dim Feuille As Worksheet Dim ActivationEvents As Long Dim ModeRecalcul As Long
Incroyable Ce message *vient* de s'afficher sous mes yeux ébahis : le Dim 14 à 16:42, heure locale!! Non seulement ma proc est lente, mais mon Thunderbird aussi :-{ Je tire l'échelle. J@@
MichDenis wrote:
3 suggestions : A ) Cette syntaxe est supérieur en rapidité à ceci : ..[B27] -> tu devrais utiliser ce type de syntaxe .Range("B27")
B ) Si tes enregistrements ont lieu sur la même ligne pour tous les éléments d'une même boucle, pourquoi ne pas utiliser une variable au lieu de réévaluer la cellule suivante disponible sur la colonne
Dim Ligne as Long Ligne = Worksheets("Etat").Range("B100").End(xlUp)(2).Value Et pour tes écritures dans la boucle pour chacun des items : Worksheets("Etat").Range("B" & ligne) = .Name
C ) Remplace Worksheets("Etat"). par une variable dim Sh as Worksheet Set Sh = Worksheets("Etat") Et dans ton code, tu remplaces ceci Worksheets("Etat").Range("B100").End(xlUp)(2).Value = .Name Par Sh.Range("B" & ligne) = .Name
"J@@"
nce.com> a écrit dans le message de news: % Bonjour à tous Dans un fichier d'une soixantaine de feuilles je récupère quelques données sur chaque feuille que je colle dans une feuille appelée "Etat". Avant optimisation ma sub tournait en 45 secondes, après en 35, mais c'est bien long :-[ Quelqu'un aurait une idée?? merci J@@ (Je n'aurai pas accès au forum pendant les 18 prochaines heures, merci d'être patient pour le retour)
'****** Sub RecupDonnees() Dim Feuille As Worksheet Dim ActivationEvents As Long Dim ModeRecalcul As Long
Incroyable
Ce message *vient* de s'afficher sous mes yeux ébahis : le Dim 14 à 16:42, heure
locale!!
Non seulement ma proc est lente, mais mon Thunderbird aussi :-{
Je tire l'échelle.
J@@
MichDenis wrote:
3 suggestions :
A )
Cette syntaxe est supérieur en rapidité à ceci :
..[B27] -> tu devrais utiliser ce type de syntaxe .Range("B27")
B ) Si tes enregistrements ont lieu sur la même ligne pour tous les
éléments d'une même boucle, pourquoi ne pas utiliser une variable
au lieu de réévaluer la cellule suivante disponible sur la colonne
Dim Ligne as Long
Ligne = Worksheets("Etat").Range("B100").End(xlUp)(2).Value
Et pour tes écritures dans la boucle pour chacun des items :
Worksheets("Etat").Range("B" & ligne) = .Name
C ) Remplace Worksheets("Etat"). par une variable
dim Sh as Worksheet
Set Sh = Worksheets("Etat")
Et dans ton code, tu remplaces ceci
Worksheets("Etat").Range("B100").End(xlUp)(2).Value = .Name
Par
Sh.Range("B" & ligne) = .Name
"J@@" <jipivert@-ifra
nce.com> a écrit dans le message de news: %232cEGihNHHA.4928@TK2MSFTNGP06.phx.gbl...
Bonjour à tous
Dans un fichier d'une soixantaine de feuilles je récupère quelques données sur
chaque feuille que je colle dans une feuille appelée "Etat".
Avant optimisation ma sub tournait en 45 secondes, après en 35, mais c'est bien
long :-[
Quelqu'un aurait une idée??
merci
J@@ (Je n'aurai pas accès au forum pendant les 18 prochaines heures, merci
d'être patient pour le retour)
'******
Sub RecupDonnees()
Dim Feuille As Worksheet
Dim ActivationEvents As Long
Dim ModeRecalcul As Long
Incroyable Ce message *vient* de s'afficher sous mes yeux ébahis : le Dim 14 à 16:42, heure locale!! Non seulement ma proc est lente, mais mon Thunderbird aussi :-{ Je tire l'échelle. J@@
MichDenis wrote:
3 suggestions : A ) Cette syntaxe est supérieur en rapidité à ceci : ..[B27] -> tu devrais utiliser ce type de syntaxe .Range("B27")
B ) Si tes enregistrements ont lieu sur la même ligne pour tous les éléments d'une même boucle, pourquoi ne pas utiliser une variable au lieu de réévaluer la cellule suivante disponible sur la colonne
Dim Ligne as Long Ligne = Worksheets("Etat").Range("B100").End(xlUp)(2).Value Et pour tes écritures dans la boucle pour chacun des items : Worksheets("Etat").Range("B" & ligne) = .Name
C ) Remplace Worksheets("Etat"). par une variable dim Sh as Worksheet Set Sh = Worksheets("Etat") Et dans ton code, tu remplaces ceci Worksheets("Etat").Range("B100").End(xlUp)(2).Value = .Name Par Sh.Range("B" & ligne) = .Name
"J@@"
nce.com> a écrit dans le message de news: % Bonjour à tous Dans un fichier d'une soixantaine de feuilles je récupère quelques données sur chaque feuille que je colle dans une feuille appelée "Etat". Avant optimisation ma sub tournait en 45 secondes, après en 35, mais c'est bien long :-[ Quelqu'un aurait une idée?? merci J@@ (Je n'aurai pas accès au forum pendant les 18 prochaines heures, merci d'être patient pour le retour)
'****** Sub RecupDonnees() Dim Feuille As Worksheet Dim ActivationEvents As Long Dim ModeRecalcul As Long
Incroyable Ce message *vient* de s'afficher sous mes yeux ébahis : le Dim 14 à 16:42, heure locale!! Non seulement ma proc est lente, mais mon Thunderbird aussi :-{
Bonsoir,
Ton Thunderbird, il interroge quel serveur de news ?
-- François L
Incroyable
Ce message *vient* de s'afficher sous mes yeux ébahis : le Dim 14 à
16:42, heure locale!!
Non seulement ma proc est lente, mais mon Thunderbird aussi :-{
Bonsoir,
Ton Thunderbird, il interroge quel serveur de news ?
Incroyable Ce message *vient* de s'afficher sous mes yeux ébahis : le Dim 14 à 16:42, heure locale!! Non seulement ma proc est lente, mais mon Thunderbird aussi :-{
Bonsoir,
Ton Thunderbird, il interroge quel serveur de news ?
-- François L
J
Bonsoir François Mon Tbird interroge directement le serveur de MS en NNTP, à ce qu'il me semble : news.microsoft.com mais c'est ma 1ère fois que cela m'arrive. C'est juste gênant car mon absence de réponse me fait passer pour un indélicat, alors que nenni, point ne suis... @+ J@@
Francois L wrote:
Incroyable Ce message *vient* de s'afficher sous mes yeux ébahis : le Dim 14 à 16:42, heure locale!! Non seulement ma proc est lente, mais mon Thunderbird aussi :-{
Bonsoir,
Ton Thunderbird, il interroge quel serveur de news ?
Bonsoir François
Mon Tbird interroge directement le serveur de MS en NNTP, à ce qu'il me semble :
news.microsoft.com
mais c'est ma 1ère fois que cela m'arrive.
C'est juste gênant car mon absence de réponse me fait passer pour un indélicat,
alors que nenni, point ne suis...
@+
J@@
Francois L wrote:
Incroyable
Ce message *vient* de s'afficher sous mes yeux ébahis : le Dim 14 à
16:42, heure locale!!
Non seulement ma proc est lente, mais mon Thunderbird aussi :-{
Bonsoir,
Ton Thunderbird, il interroge quel serveur de news ?
Bonsoir François Mon Tbird interroge directement le serveur de MS en NNTP, à ce qu'il me semble : news.microsoft.com mais c'est ma 1ère fois que cela m'arrive. C'est juste gênant car mon absence de réponse me fait passer pour un indélicat, alors que nenni, point ne suis... @+ J@@
Francois L wrote:
Incroyable Ce message *vient* de s'afficher sous mes yeux ébahis : le Dim 14 à 16:42, heure locale!! Non seulement ma proc est lente, mais mon Thunderbird aussi :-{
Bonsoir,
Ton Thunderbird, il interroge quel serveur de news ?
FxM
Bonjour J@@,
Tu n'es pas seul : le phénomène s'est produit hier pour un autre message. Je penche pour un serveur qui tousse ou un envoi tardif de la part de l'utilisateur.
@+ FxM
Bonsoir François Mon Tbird interroge directement le serveur de MS en NNTP, à ce qu'il me semble : news.microsoft.com mais c'est ma 1ère fois que cela m'arrive. C'est juste gênant car mon absence de réponse me fait passer pour un indélicat, alors que nenni, point ne suis... @+ J@@
Francois L wrote:
Incroyable Ce message *vient* de s'afficher sous mes yeux ébahis : le Dim 14 à 16:42, heure locale!! Non seulement ma proc est lente, mais mon Thunderbird aussi :-{
Bonsoir,
Ton Thunderbird, il interroge quel serveur de news ?
Bonjour J@@,
Tu n'es pas seul : le phénomène s'est produit hier pour un autre
message. Je penche pour un serveur qui tousse ou un envoi tardif de la
part de l'utilisateur.
@+
FxM
Bonsoir François
Mon Tbird interroge directement le serveur de MS en NNTP, à ce qu'il me
semble :
news.microsoft.com
mais c'est ma 1ère fois que cela m'arrive.
C'est juste gênant car mon absence de réponse me fait passer pour un
indélicat, alors que nenni, point ne suis...
@+
J@@
Francois L wrote:
Incroyable
Ce message *vient* de s'afficher sous mes yeux ébahis : le Dim 14 à
16:42, heure locale!!
Non seulement ma proc est lente, mais mon Thunderbird aussi :-{
Bonsoir,
Ton Thunderbird, il interroge quel serveur de news ?
Tu n'es pas seul : le phénomène s'est produit hier pour un autre message. Je penche pour un serveur qui tousse ou un envoi tardif de la part de l'utilisateur.
@+ FxM
Bonsoir François Mon Tbird interroge directement le serveur de MS en NNTP, à ce qu'il me semble : news.microsoft.com mais c'est ma 1ère fois que cela m'arrive. C'est juste gênant car mon absence de réponse me fait passer pour un indélicat, alors que nenni, point ne suis... @+ J@@
Francois L wrote:
Incroyable Ce message *vient* de s'afficher sous mes yeux ébahis : le Dim 14 à 16:42, heure locale!! Non seulement ma proc est lente, mais mon Thunderbird aussi :-{
Bonsoir,
Ton Thunderbird, il interroge quel serveur de news ?