Mise à jour d'écran Excel VBA

Lorsque nous exécutons une macro VBA avec un énorme ensemble de code, le code se termine mais en arrière-plan, nous obtenons des données de traitement sous la forme de l'exécution ou de l'attente du pointeur. Et une fois cela fait, nous ne pouvons voir que la sortie. La manière régulière n'est pas la bonne façon de voir comment les valeurs sont mises à jour en exécutant du code. Par exemple, supposons que nous avons écrit le code pour générer des nombres dans 100 cellules. Maintenant, ce code pourrait simplement générer la sortie sans montrer comment les nombres sont imprimés. Pour résoudre ce problème, nous avons VBA ScreenUpdating . ScreenUpdating dans VBA nous aide à voir comment le code génère la sortie. Il peut s'agir de chiffres, de texte, d'alphabets ou d'une combinaison. Une fois que nous avons exécuté la boucle de code, VBA ScreenUpdating nous a permis de voir les nombres générés.

Comment utiliser l'application ScreenUpdating dans Excel VBA?

Nous apprendrons comment utiliser l'application ScreenUpdating dans Excel en utilisant le code VBA.

Vous pouvez télécharger ce modèle Excel VBA ScreenUpdating ici - Modèle Excel VBA ScreenUpdating

VBA ScreenUpdating peut être remarqué lorsque nous exécutons le code ou la macro. Pendant l'exécution du code, nous pourrons voir comment notre écran est mis à jour par les valeurs générées par le code écrit dans VBA. Au lieu de voir l'ancien signe d'attente, à l'aide de VBA ScreenUpdating, nous pouvons voir comment l'écran met à jour les valeurs de sortie par VBA ScreenUpdating. Maintenant, par cela, nous pouvons également voir le nom de l'article lui-même définit son fonctionnement, VBA ScreenUpdating .

VBA ScreenUpdating - Exemple # 1

Dans cet exemple, nous verrons un code simple pour mettre à jour l'écran. Pour cela, nous avons besoin de quelques cellules avec des nombres, comme indiqué ci-dessous. Pour cela, suivez les étapes ci-dessous:

Étape 1: ouvrez un module à partir de l'onglet du menu Insertion, comme illustré ci-dessous.

Étape 2: Maintenant, écrivez la sous-procédure au nom de VBA ScreenUpdating comme indiqué ci-dessous.

Code:

 Sub Screen_Update1 () End Sub 

Étape 3: Nous allons maintenant copier les numéros de la cellule A1: A3 vers toutes les autres cellules. Supposons que la cellule soit C1: C3 à l'aide du code ci-dessous.

Code:

 Sub Screen_Update1 () Plage ("A1"). Plage de copie ("C1") Plage ("A2"). Plage de copie ("C2") Plage ("A3"). Plage de copie ("C3") Fin Sous 

Étape 4: Maintenant, si nous exécutons ce code, nous ne pouvons obtenir que les valeurs de sortie copiées de la colonne A à C. Maintenant, nous utiliserons l'application ScreenUpdating comme indiqué ci-dessous.

Code:

 Sous Screen_Update1 () Application.ScreenUpdating Range ("A1"). Copy Range ("C1") Range ("A2"). Copy Range ("C2") Range ("A3"). Copy Range ("C3") End Sous 

Étape 5: Nous mettons un signe égal pour sélectionner les valeurs booléennes qui sont VRAIES ou FAUX. Nous allons sélectionner FAUX pour arrêter la mise à jour de l'écran.

Code:

 Sub Screen_Update1 () Application.ScreenUpdating = False Range ("A1"). Copy Range ("C1") Range ("A2"). Copy Range ("C2") Range ("A3"). Copy Range ("C3" ) End Sub 

Étape 6: exécutez le code en appuyant sur la touche F5 ou en cliquant sur le bouton de lecture situé sous le ruban de menu. Nous verrons que les valeurs sont copiées de la colonne A vers C.

Cela pourrait être vu plus clairement si nous avons un grand nombre de chiffres.

VBA ScreenUpdating - Exemple # 2

Voyons un autre exemple pour ScreenUpdating. Cette fois, considérons le nombre de 1 à 20 de la cellule A1 à A20 comme indiqué ci-dessous.

Pour utiliser l'application de mise à jour d'écran, suivez les étapes ci-dessous:

Étape 1: Écrivez la sous-procédure de mise à jour d'écran VBA comme indiqué ci-dessous.

Code:

 Sub Screen_Update2 () End Sub 

Étape 2: Maintenant, écrivez le code pour sélectionner la cellule de plage de A1 à A20 et copiez-les de B1 à F20 comme indiqué ci-dessous. De la même manière que nous l'avons vu dans l'exemple-1.

Code:

 Sub Screen_Update2 () Range ("A1: A20"). Copy Range ("B1: F20") End Sub 

Étape 3: Pour appliquer l'application de mise à jour d'écran, nous utiliserons à nouveau une ligne de code similaire que nous avons vue dans l'exemple-1.

Code:

 Sub Screen_Update2 () Application.ScreenUpdating = False Range ("A1: A20"). Copy Range ("B1: F20") End Sub 

L'application ci-dessus ScreenUpdating as FALSE nous permettra de voir comment le code VBA met à jour l'écran. Comme nous avons plus de chiffres, il y a des chances que nous puissions voir une mise à jour d'écran.

Étape 4: exécutez le code en appuyant sur la touche F5 ou en cliquant sur le bouton de lecture. Nous avons pu voir la valeur mise à jour.

VBA ScreenUpdating - Exemple # 3

Il existe une autre façon de voir l'écran mis à jour. Cela pourrait être fait à l'aide de la boucle For-Next. Dans cet exemple, nous allons imprimer les nombres dans une matrice combinée Ligne et Colonne. Pour cela, suivez les étapes ci-dessous:

Étape 1: Écrivez la sous-procédure de VBA ScreenUpdating.

Code:

 Sub Screen_Updating3 () End Sub 

Étape 2: Déclarez maintenant les 2 variables pour Row et Column séparément en tant que type de données Long.

Code:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long End Sub 

Étape 3: Déclarez maintenant une autre variable que nous utiliserons comme référence pour commencer les nombres.

Code:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long End Sub 

Étape 4: Donnez maintenant le numéro de référence à partir de quelle position nous voulons commencer le comptage. Ici, nous le donnons comme 0.

Code:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 End Sub 

Étape 5: Ouvrez maintenant une boucle For et donnez le nombre de colonnes et de lignes qui souhaitent voir la mise à jour. Disons de 1 à 50.

Code:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 For RowCount = 1 To 50 End Sub 

Étape 6: Pour continuer la boucle, donnez la variable MyNumber +1.

Code:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 For RowCount = 1 To 50 For ColumnCount = 1 To 50 MyNumber = MyNumber + 1 End Sub 

Étape 7: Sélectionnez maintenant les variables Row et Column dans la fonction Cell. Et puis sélectionnez les valeurs qui y sont stockées et affectez-les à la variable MyNumber.

Code:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 For RowCount = 1 To 50 For ColumnCount = 1 To 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount) .Select Cells (RowCount, ColumnCount) .Value = MyNumber End Sub 

Étape 8: Fermez maintenant la boucle par Next. Incluez les variables Row et Column que nous avons définies et utilisées dans la boucle For-Next.

Code:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 For RowCount = 1 To 50 For ColumnCount = 1 To 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount) .Select Cells (RowCount, ColumnCount) .Value = MyNumber Next ColumnCount Next RowCount End Sub 

Étape 9: Maintenant, nous n'avons pas encore inséré l'application Screenupdating. Insérez maintenant l'application Screenupdating comme FALSE avant le début de la boucle et comme TRUE à la fin de la boucle comme indiqué ci-dessous.

Code:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long Application.ScreenUpdating = False MyNumber = 0 For RowCount = 1 to 50 For ColumnCount = 1 to 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount) .Select Cells (RowCount, ColumnCount) .Value = MyNumber Next ColumnCount Next RowCount Application.ScreenUpdating = True End Sub 

Maintenant, compilez le code complet étape par étape en appuyant sur la touche de fonction F8, puis exécutez-le si aucune erreur n'est trouvée. Nous verrons comment chaque cellule des lignes et colonnes sélectionnées est mise à jour avec les valeurs qui y sont stockées.

Avantages d'Excel VBA ScreenUpdating

  • Il est très utile de voir comment l'écran est mis à jour avec la valeur stockée dans la boucle.
  • Nous pouvons utiliser Screenupdating si nous voulons basculer entre les feuilles de calcul et les classeurs.
  • Nous pouvons utiliser n'importe quelle plage de nombres.

Choses dont il faut se rappeler

  • Nous utilisons l'insertion de la boucle For-Next comme trame ou d'abord, nous pouvons satisfaire la condition de la boucle For, puis la fermer par Next.
  • VBA ScreenUpdating est assez utile et visible si nous utilisons un grand nombre de chiffres.
  • Une fois cela fait, enregistrez le fichier Excel car la macro active le format Excel.
  • VBA ScreenUpdating peut également être utilisé pour créer une macro à travers laquelle nous pouvons envoyer des e-mails.

Articles recommandés

Ceci est un guide de VBA ScreenUpdating. Nous discutons ici comment utiliser l'application ScreenUpdating dans Excel VBA avec des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Collection VBA (exemples)
  2. Instructions IF VBA | Modèles Excel
  3. Comment utiliser la fonction de tri Excel VBA?
  4. Boucle VBA While (Exemples avec modèle Excel)
  5. VBA Environ

Catégorie: