Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

rendre l'execution d'un code plus rapide

  • Initiateur de la discussion Initiateur de la discussion la fifine
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

la fifine

XLDnaute Occasionnel
Code:
Sub EffaceCelluleAncienne()

With Sheets("planning")
Dim c As Range
For Each c In Range("A6:a1200")
If c <> "" Then
If c + Sheets("mode d'emploi").Range("i31").Value < Date Then 'variable nombre de jours
c.Offset(, 1).Resize(3, 10).ClearContents
End If
End If
Next c
End With
End Sub
dans une feuille j'ai des dates en colonne A
du 1/01/12 au 31/12/12
ce code efface les cellules sur la même ligne qui ont plus de 30 jours (range("i31"")
est-il possible de modifier quelque chose pour le rendre plus rapide
car dans l'état il lui faut env. 30 secondes pour executer sur mon pc
merci
 
Dernière édition:
Re : rendre l'execution d'un code plus rapide

Bonjour
Pour tester la macro incriminée, j'ai fait une feuille exemple et j'ai mis un timer dans la macro. Résultat : 0.00 secondes pour effectuer le travail 🙂
donc à mon avis le problème ne vient pas de la macro elle même mais des feuilles.
Que contiennent les cellules à effacer ? Si elles contiennent des formules, fans la mesure ou vous travaillez avec une boucle, à chaque passage de la boucle toutes les formules dépendantes de celles effacées sont recalculées.
La façon la plus efficace en général d'optimiser un code c'est de mettre le mode de calcul sur manuel en début de macro et de le remettre sur auto à la fin

Application.ScreenUpdating = False
XlCalc = Application.Calculation
Application.Calculation = xlCalculationManual

'la macro

Application.Calculation = XlCalc
Application.ScreenUpdating = True
 
Re : rendre l'execution d'un code plus rapide

Bonjour
Mon observation s'appliquait à toutes les propositions, non seulement la mienne.
On subit l'inévitable embrouillamini résultant d'une intervention à plusieurs dans une demande sans pièce jointe...
Cordialement
 
Re : rendre l'execution d'un code plus rapide

bonsoir je reviens un peu tardivement sur le fil
bon, je suis toujours sur des délais un peu trop long
ce qui fonctionnait à peu près l'autre jour est beaucoup trop long aujourd'hui
j'aimerais faire un essai avec une période en lieu et place de date - 30 jours
c'est à dire que ça efface les cellules entre -30 jours et -20 jours
mais je ne sais pas comment écrire cela en VBA sur cette ligne
If C Sheets("mode d'emploi").Range("j31").Value < Date and sheets("mode d'emploi") .range("j32")> date Then 'variable nombre de jours
merci
 
Re : rendre l'execution d'un code plus rapide

bonsoir yaloo
il y a les propositions des contributeurs tu peux prendre le fichier 2 de efgé ou encore celui de dranreb
je sais c'est pas bien je n'avais pas fourni de fichier joint
 
Re : rendre l'execution d'un code plus rapide

Re,

Oui, on peut prendre les fichiers des contributeurs, mais avec les leur ça fonctionne, chez toi ça ne fonctionne pas, donc cela doit venir de ton fichier.

A+
 
Re : rendre l'execution d'un code plus rapide

re
oui je sais en fait Misange à mis le doigt dessus il y a bien une worksheet change qui fiche le bazar
en fait ce que je cherche c'est comment écrire ceci en vba
range("j31") = 30
range("j32") = 15
supprimer les cellules dont la date est située entre -15 et -30 jours
parceque là la macro supprime les cellules qui sont à -30 jusqu'au 1er janvier
donc ce qui me fait peur c'est si maintenant il lui faut 30 sec pour une centaine de jours
combien de temps ça va prendre à la fin de l'année?
 
Dernière édition:
Re : rendre l'execution d'un code plus rapide

re
c'est bon ça fonctionne maintenant
je viens de comprendre où il fallait placer application.enableevents= false
et surtout qu'il fallait y remettre à true à la fin de la macro
merci
je n'ai pas été très performant sur ce fil
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
786
Réponses
5
Affichages
912
Réponses
4
Affichages
755
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
6
Affichages
641
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…