XL 2010 Modification macro VBA (validation cellules non vierges)

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
 

Erakmur

XLDnaute Occasionnel
Ce n'est pas moi qui est écrit cette formule. J'avoue que mon niveau en VBA est assez bas. J'avais demandé à l'époque une macro qui simule l'action suivante sur une plage: Sélection de la cellule puis enter. Sélection de la cellule suivant puis enter ect.. jusqu'à 7000.

Aujourd'hui, je souhaite une optimisation de la macro qui valide uniquement les cellules non vierge. Les temps de calculs étant trop long. Je regarderai ta proposition demain.
 

Patrice33740

XLDnaute Impliqué
Ce n'est pas moi qui est écrit cette formule. J'avoue que mon niveau en VBA est assez bas. J'avais demandé à l'époque une macro qui simule l'action suivante sur une plage: Sélection de la cellule puis enter. Sélection de la cellule suivant puis enter ect.. jusqu'à 7000.
C'est effectivemnt ce que fait ta macro, mais la question, c'est pourquoi faire ça ?
Normalement ça n'a aucune utilité sauf dans de rares cas particuliers....
 

Erakmur

XLDnaute Occasionnel
Bonjour,
Voici le fichier. J'ai supprimé toutes les données et laissé que l'essentiel. Il s'agit de l'onglet 3. C'est le bouton bleu qui déclenche la macro. Elle copie colle des données de l'onglet 2 vers l'onglet 3 et valide chaque cellule de AJ9 à AJ 7000 qui déclenche une autre macro pour faire apparaitre le planning. Je souhaiterai que la macro valide seulement les cellules non vides de AJ9 à AJ 7000 pour gagner du temps.
 

Pièces jointes

  • test.xlsm
    3.4 MB · Affichages: 4

Patrice33740

XLDnaute Impliqué
L'essentiel c'est d'avoir toutes les feuilles et toutes les données, quand je demande "débarassé des inforamtions confidentielles" ça ne veut pas dire sans aucune informations mais simplement qu'il faut les remplacer par de informations bidons.
Au premier regard, il y a un énorme problème de récursivité dans le Worksheet_Change ce qui explique la lenteur !
 

Discussions similaires

Réponses
2
Affichages
702

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof