Objet d'application Excel VBA - Macros Excel faciles

Table des matières

Feuille de travailFonction | ScreenUpdating | 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.

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 :

Diminuer en tant qu'entier
Pour i = 1 à 10000
Plage("A1").Valeur = i
Ensuite je

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.

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

Diminuer en tant qu'entier
Application.ScreenUpdating = Faux
Pour i = 1 à 10000
Plage("A1").Valeur = i
Ensuite je
Application.ScreenUpdating = True

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.

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 = True

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.

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

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

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave