La mère de tous les objets est Excel lui-même. Nous appelons l’objet Application. L’objet de l’application donne accès à un grand nombre d’options connexes Excel.

WorksheetFunction

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

  1. Par exemple, placez un lien: / ABV-create-a-macro-commande bouton # [bouton de commande] sur votre feuille de calcul et ajoutez la ligne de code suivant:

Range("A3").Value = Application.WorksheetFunction.Average(Range("A1:A2"))

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

WorksheetFunction in Excel VBA

Note: 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 est pas insérée dans la cellule A3. Pour insérer la formule elle-même dans la cellule A3, utiliser la ligne de code ci-dessous:

Range("A3").Value = "=AVERAGE(A1:A2)"

ScreenUpdating

Parfois, vous trouverez peut-être utile pour la mise à jour de l’écran désactiver (pour éviter le clignotement) lors de l’exécution du code. En conséquence, votre code fonctionnera plus rapidement.

  1. Par exemple, placez un lien: / ABV-create-a-macro-commande bouton # [bouton de commande] sur votre feuille de calcul et ajoutez les lignes de code suivantes:

Dim i As Integer

For i = 1 To 10000

Range("A1").Value = i

Next i

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

ScreenUpdating

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

Dim i As Integer

Application.ScreenUpdating = False

For i = 1 To 10000

Range("A1").Value = i

Next i

Application.ScreenUpdating = True

En conséquence, votre code sera beaucoup plus rapide et vous ne verrez que le résultat final (10000).

DisplayAlerts

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

  1. Par exemple, placez un lien: / ABV-create-a-macro-commande bouton # [bouton de commande] sur votre feuille de calcul et ajoutez la ligne de code suivant:

ActiveWorkbook.Close

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

DisplayAlerts

  1. Pour charger Excel VBA ne pas afficher cette alerte lors de l’exécution du code, mettre à jour le code comme suit.

Application.DisplayAlerts = False

ActiveWorkbook.Close

Application.DisplayAlerts = True

Par conséquent, Excel VBA ferme votre fichier Excel, sans vous demander d’enregistrer les modifications apportées. Toute modification sont perdus.

Calcul

Par défaut, le calcul est automatique. En conséquence, Excel recalcule le classeur automatiquement chaque fois une valeur affectant un changement de formule. Si votre classeur contient de nombreuses formules complexes, vous pouvez accélérer votre macro en réglant le calcul manuel.

  1. Par exemple, placez un lien: / ABV-create-a-macro-commande bouton # [bouton de commande] sur votre feuille de calcul et ajoutez la ligne de code suivant:

Application.Calculation = xlCalculationManual

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

  1. Vous pouvez le vérifier en cliquant sur Fichier, Options, formules.

Calculation Options

  1. Maintenant, lorsque vous modifiez la valeur de la cellule A1, la valeur de la cellule B1 est pas recalculées.

Manual Calculation

Vous pouvez manuellement recalcule le classeur en appuyant sur F9.

  1. Dans la plupart des cas, vous partirez à nouveau calcul automatique à la fin de votre code. Il suffit d’ajouter la ligne de code suivant pour y parvenir.

Application.Calculation = xlCalculationAutomatic