Vba

Objet d'application

Application Object

Feuille de travailFonction | Mise à jour de l'écran | Afficher les alertes | Calcul



La mère de tous les objets est Excel lui-même. Nous l'appelons le Objet d'application . L'objet application donne accès à de nombreuses options liées à Excel.

Feuille de travailFonction

Vous pouvez utiliser la propriété WorksheetFunction dans Excel VBA pour accéder aux fonctions Excel.





1. Par exemple, placez un bouton de commande sur votre feuille de calcul et ajoutez la ligne de code suivante :

Range('A3').Valeur = Application.WorksheetFunction.Average(Range('A1:A2'))

Lorsque vous cliquez sur le bouton de commande de la feuille de calcul, Excel VBA calcule la moyenne des valeurs de la cellule A1 et de la cellule A2 et place le résultat dans la cellule A3.



WorksheetFunction dans Excel VBA

Remarque : au lieu de Application.WorksheetFunction.Average, utilisez simplement WorksheetFunction.Average. Si vous regardez la barre de formule, vous pouvez voir que la formule elle-même n'est pas insérée dans la cellule A3. Pour insérer la formule elle-même dans la cellule A3, utilisez la ligne de code suivante :

Plage('A3').Valeur = '=MOYENNE(A1:A2)'

Mise à jour de l'écran

Parfois, vous pouvez trouver utile de désactiver la mise à jour de l'écran (pour éviter le scintillement) lors de l'exécution du code. En conséquence, votre code s'exécutera plus rapidement.

1. Par exemple, placez un bouton de commande sur votre feuille de calcul et ajoutez les lignes de code suivantes :

RienjeComme Entier

Pourje = 1À10 000
Plage('A1').Valeur = i
Prochainje

Lorsque vous cliquez sur le bouton de commande de la feuille de calcul, Excel VBA affiche chaque valeur une infime fraction de seconde et cela peut prendre un certain temps.

Mise à jour de l'écran

Excel index et correspond à plusieurs critères

2. Pour accélérer le processus, mettez à jour le code comme suit.

RienjeComme Entier

Application.ScreenUpdating =Faux

Pourje = 1À10 000
Plage('A1').Valeur = i
Prochainje

Application.ScreenUpdating =Vrai

En conséquence, votre code s'exécutera beaucoup plus rapidement et vous ne verrez que le résultat final (10000).

Afficher les alertes

Vous pouvez demander à Excel VBA de ne pas afficher d'alertes lors de l'exécution du code.

1. Par exemple, placez un bouton de commande sur votre feuille de calcul et ajoutez la ligne de code suivante :

ActiveWorkbook.Fermer

Lorsque vous cliquez sur le bouton de commande de la feuille de calcul, Excel VBA ferme votre fichier Excel et vous demande d'enregistrer les modifications que vous avez apportées.

Afficher les alertes

quel est le symbole des temps dans Excel

2. Pour indiquer à Excel VBA de ne pas afficher cette alerte lors de l'exécution du code, mettez à jour le code comme suit.

Application.DisplayAlerts =Faux

ActiveWorkbook.Fermer

Application.DisplayAlerts =Vrai

Par conséquent, Excel VBA ferme votre fichier Excel, sans vous demander d'enregistrer les modifications que vous avez apportées. Toutes les modifications sont perdues.

Calcul

Par défaut, le calcul est défini sur automatique. Par conséquent, Excel recalcule automatiquement le classeur chaque fois qu'une valeur affectant une formule change. Si votre classeur contient de nombreuses formules complexes, vous pouvez accélérer votre macro en définissant le calcul sur manuel.

1. Par exemple, placez un bouton de commande sur votre feuille de calcul et ajoutez la ligne de code suivante :

Application.Calculation = xlCalculationManual

Lorsque vous cliquez sur le bouton de commande de la feuille de calcul, Excel VBA définit le calcul sur manuel.

2. Vous pouvez le vérifier en cliquant sur Fichier, Options, Formules.

Options de calcul

3. Désormais, lorsque vous modifiez la valeur de la cellule A1, la valeur de la cellule B1 n'est pas recalculée.

Calcul manuel

Vous pouvez recalculer manuellement le classeur en appuyant sur F9.

4. Dans la plupart des cas, vous redéfinirez le calcul sur automatique à la fin de votre code. Ajoutez simplement la ligne de code suivante pour y parvenir.

Application.Calculation = xlCalculationAutomatique

1/4 terminé ! En savoir plus sur l'objet application >
Aller au chapitre suivant : Contrôles ActiveX



^