XL 2010 Modification macro VBA (validation cellules non vierges)

  • Initiateur de la discussion Initiateur de la discussion Erakmur
  • 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 !

Erakmur

XLDnaute Occasionnel
Bonjour,

La macro si dessous valide les formules des lignes de aj9 à aj7000. Cela prend 4 min. Sur les 6991 cellules, il est très rare qu'elles contiennent toutes des formules. Afin de diminuer les temps de calcul, est il possible d'avoir la même macro qui valide uniquement les formules des cellules non vierge de aj9 à aj7000.

Sub Validation()
Dim c As Range
Application.Calculation = xlManual
Application.ScreenUpdating = False
For Each c In [Aj9:Aj7000]
c = c.Formula
Next
Application.Calculation = xlAutomatic
End Sub


Cordialement
 
Bonjour,

Il n'y a aucune structure dans ces codes, c'est du bricolage. pas étonnant que ça fonctionne aussi mal.

Le problème principal vient de la macro Worksheet_Change, il faudrait la réécrire en respectant les fondamentaux :
  • N'utiliser que Target, pas ActiveCell.
  • Ne pas utiliser .Select (utiliser un objet range)
  • Éviter la récursivité , i.e. désactiver les évènements lorsque qu'on change une info sur la feuille.
  • Déclarer et typer toutes les variables (Option Explicit en début de module)
  • Gérer les erreurs en amont (éviter On Error Resume Next)
  • Après On Error Resume Next, rétablir dès que possible la gestion d'erreur (On Error Goto 0)
  • Structurer et commenter le code pour qu'il soit compréhensible par tous.

Et pour bien faire, il faudrait tout reprendre avec une analyse préalable.
 
C'est pas là le problème !
Quand pour aller de La Varenne à Chennevières, on passe par Calais - Brest - Bayonne - Nice et Strasbourg, on peut gagner du temps en passant uniquement par Toulouse et Lyon mais c'est pas la bonne solution.

En révisant l'ensemble du code, la macro ne devrait prendre que quelques secondes voire moins.
 
Dernière édition:
- 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
7
Affichages
702
Réponses
0
Affichages
597
Réponses
2
Affichages
912
Réponses
8
Affichages
2 K
Réponses
8
Affichages
1 K
  • Question Question
Réponses
10
Affichages
942
Réponses
1
Affichages
1 K
Retour