Microsoft 365 Changer une formule en code vba

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

Phil Du59

XLDnaute Junior
Bonjour le forum
Je me rends compte que les enregistrements dans mon tableau sont de plus en plus long (plusieurs secondes) et je pense que c'est à cause de la formule de tri , dans la partie DXCCs j'ai une colonne Continents et en T le tri qui se fait par rapport au tableau DXCC Worked et quand je la supprime mes enregistrements sont plus rapide , donc est il possible de remplacer les formules par un code qui ferait la même chose . Pour mes enregistrements je passe par Open Log.
Merci de votre aide, Philippe .
 

Pièces jointes

Solution
Bonjour Phil, Gbinform, Fanch,
En PJ j'ai optimisé la macro Worksheet_Activate de la feuille DXCCs, ( ainsi que la fonction "compte" pour le fun )
Sur mon PC (XL2007) le calcul de la feuille DXCCs passe de 2.28s à 0.093s , du à l'utilisation d'un second array pour les calculs intermédiaires.
A tester sur votre version XL.
( Question : Pourquoi utiliser un fichier xls avec 365, une version xlsm serait plus appropriée )
bonjour,

La colonne Continents est déjà calculée par un code VBA : que veux-tu faire de plus ?
Bonjour, je me suis peut être mal exprimé, actuellement la formule de calcule en T2 est : =compte($H$2:$Q$31;A$2:A$100) et ainsi de suite jusque T7 et je voudrais remplacer cette formule par un code dans le USF pour faciliter le tri et rendre l'enregistrement plus rapide .
 
Salut,
Le classeur fourni fonctionne rapidement chez moi . Pas de latence notable.
Dans le worksheet_activate de la feuille DXCCs, on pourrait rajouter :
Application.Calculation = xlCalculationManual en début et
Application.Calculation = xlCalculationAutomatic en fin .

Ceci dit, qu'est-ce qui vous a empêchée de convertir les données de la feuille LOG en table structurée ?
 
Salut,
Le classeur fourni fonctionne rapidement chez moi . Pas de latence notable.
Dans le worksheet_activate de la feuille DXCCs, on pourrait rajouter :
Application.Calculation = xlCalculationManual en début et
Application.Calculation = xlCalculationAutomatic en fin .

Ceci dit, qu'est-ce qui vous a empêchée de convertir les données de la feuille LOG en table structurée ?
Bonjour
Mes compétences sont très limitées mise à part quelques formules basiques , le tableau a été créé par moi mais toutes les formules appliquées ont été créer par les membres du forum au fur et à mesure de mes demandes .
Sur mes 2 PC l'enregistrement depuis OPEN LOG prend + de 5s chez moi .
 
Bonjour
Mes compétences sont très limitées mise à part quelques formules basiques , le tableau a été créé par moi mais toutes les formules appliquées ont été créer par les membres du forum au fur et à mesure de mes demandes .
Sur mes 2 PC l'enregistrement depuis OPEN LOG prend + de 5s chez moi .
Même avec le calculation en manuel ?
L'enregistrement, c'est bien avec le "ADD QSO" ?
 
Même avec le calculation en manuel ?
L'enregistrement, c'est bien avec le "ADD QSO" ?
Dans OPEN LOG j'écris dans QRZ (ex 123XX456) entrée puis dans RST (ex 55) et double entée pour enregistrer et je pense que comme je lui demande de trier les numéros de DXCC Worked par continents c'est là que la formule prend du temps à chercher si le pays a déjà été fait et par conséquent il cherche aussi dans Continents avant de l'ajouter ou pas si déjà dedans .
 
Bonjour Phil, Gbinform, Fanch,
En PJ j'ai optimisé la macro Worksheet_Activate de la feuille DXCCs, ( ainsi que la fonction "compte" pour le fun )
Sur mon PC (XL2007) le calcul de la feuille DXCCs passe de 2.28s à 0.093s , du à l'utilisation d'un second array pour les calculs intermédiaires.
A tester sur votre version XL.
( Question : Pourquoi utiliser un fichier xls avec 365, une version xlsm serait plus appropriée )
 

Pièces jointes

Bonjour Sylvanu, ça fonctionne nickel , l'enregistrement est rapide comme je le voulais , Merci beaucoup .
Pour ma version Excel , quand j'ouvre un fichier il s'ouvre en office 2019 , vous m'avez déjà dis pour le xlsm mais comme je ne suis pas un pro je n'ai pas été plus loin dans la recherche .
 
vous m'avez déjà dis pour le xlsm mais comme je ne suis pas un pro je n'ai pas été plus loin dans la recherche .
"xls" est l'extension utilisée kusqu'à XL2003.
Puis fut remplacé par "xlsx" et "xlsm"
Vous faites "Enregistrer sous " puis choississez l'extension xlsm. C'est un format plus concis et plus léger.
Pour votre fichier, on passe de 155ko à 77ko :

1775914204564.png



1775914000822.png
 
- 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
2
Affichages
242
Réponses
3
Affichages
256
Retour