Code de pause dans VBA

Je me demande même, comment ce serait formidable si nous pouvions exécuter le code selon notre temps, car jusqu'à ce moment, nous réussirions à terminer l'autre travail et à préparer ces données pour un travail ultérieur. C'est la nécessité de tout type de tâches où nous devons exécuter un ensemble de code et travailler sur d'autres choses selon les exigences du code et jusqu'à ce que l'autre partie du code s'exécute, nous serions prêts avec les données que nous devons traiter avec le même code. Cela peut être fait avec l'application Sleep and Wait de VBA. Par Sleep and Wait, nous pouvons suspendre le code à tout moment. L'heure peut être en secondes ou en temps selon l'horloge.

Syntaxe de la pause VBA dans Excel

La syntaxe de la pause VBA est la suivante:

Exemples pour suspendre le code VBA dans Excel

Voici les différents exemples pour suspendre le code VBA dans Excel.

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

Exemple # 1 - Pause VBA

Dans cet exemple, nous verrons comment fonctionne VBA Wait. Comme nous pouvons le voir, l'application Wait autorise le temps comme booléen. Ce qui signifie que si la valeur que nous fournissons est correcte, nous l'obtiendrons comme VRAI sinon FAUX.

Pour voir comment VBA Pause fonctionnera avec l'application Wait dans VBA,

Étape 1: Tout d'abord, nous aurions besoin d'un module où nous écrirons le code pour cela. Allez donc dans le menu Insertion et sélectionnez Module dans l'option déroulante comme indiqué ci-dessous.

Étape 2: Maintenant, écrivez la sous-catégorie au nom de Pause VBA ou sous tout autre nom selon votre choix, comme indiqué ci-dessous.

Code:

 Sub VBAPause1 () End Sub 

Pour la pause VBA, nous avons besoin d'un ensemble de texte que nous aimerions imprimer avec une pause. Considérons ce texte comme « Get… Set… Go… !! ". Nous allons donc sélectionner 3 cellules différentes où nous conserverons ces mots de texte séparément dans chaque cellule.

Étape 3: Sélectionnez la première plage de cellules comme A1 ou toute autre cellule selon votre choix, et pour lui donner la valeur, sélectionnez la fonction Valeur et donnez-lui une valeur comme nous l'avons fixé ci-dessus. Ou choisissez n'importe quelle valeur selon votre choix.

Code:

 Sub VBAPause1 () Range ("A1"). Value = "Get …" End Sub 

Étape 4: Attribuez le reste des valeurs de la même manière que pour la première valeur. Ici, nous choisissons les cellules de A1 à C1 comme plage.

Code:

 Sous VBAPause1 () Plage ("A1"). Valeur = "Obtenir …" Plage ("B1"). Valeur = "Définir …" Plage ("C1"). Valeur = "Aller .. !!!" End Sub 

Étape 5: Par hasard, si nous exécutons le code complet, nous obtiendrions toutes les valeurs Get. Réglez… Allez .. !!! en une seule fois de la cellule A1 à C1 comme indiqué ci-dessous.

Étape 6: Maintenant, si nous voulons obtenir une pause entre toute la pause, nous devons utiliser l'application Attendre comme indiqué ci-dessous. Nous utiliserons cette application juste au-dessus de la dernière plage.

Code:

 Sub VBAPause1 () Range ("A1"). Value = "Get …" Range ("B1"). Value = "Set…" Application.Wait (Range ("C1"). Value = "Go ..! !! "End Sub 

Étape 7: Dans le support de l'application Wait, nous pouvons écrire l'heure au format 24HRs ou au format AM / PM. Nous envisageons le format 24HR. Écrivez maintenant l'heure au format HH: MM: SS lorsque nous voulons exécuter le reste du code après une pause.

Code:

 Sub VBAPause1 () Plage ("A1"). Valeur = "Obtenir …" Plage ("B1"). Valeur = "Définir…" Application.Wait ("12: 26: 00") Plage ("C1") .Value = "Allez .. !!!" End Sub 

Étape 8: compilez maintenant le code et exécutez-le à nouveau. Nous verrons, à la cellule A1, nous avons obtenu la valeur de la cellule en tant que «Get…» et le curseur fonctionne toujours en attente.

Étape 9: Et une fois que l'horloge atteint à 12:25:00 heures, le reste des valeurs de cellule aux cellules B1 et C1 apparaîtra à nouveau comme indiqué ci-dessous.

Exemple # 2 - Pause VBA

Il existe un autre moyen par lequel nous pouvons mettre le code en pause sans ajouter ou modifier plusieurs fois l'heure dans l'application Wait. Pour cela, nous ferions référence au même code que celui que nous avons vu dans l'exemple-1.

Étape 1: Maintenant, dans le support de l'application Wait, écrivez Now () avec TimeValue que nous voulons donner. Prenons la pause de 30 secondes.

Code:

 Sub VBAPause2 () Range ("A1"). Value = "Get …" Range ("B1"). Value = "Set…" Application.Wait (Now () + TimeValue ("00:00:30") ) Plage ("C1"). Value = "Go .. !!!" End Sub 

Étape 2: Ainsi, lorsque nous exécutons le code, VBA considérera l'heure actuelle et ajoutera une pause de 30 secondes. Et cela fonctionnera de la même manière que dans l'exemple-1. Pour vérification, exécutez le code.

Tout d'abord, nous obtiendrons la première valeur de cellule à A1.

Et après une pause de 30 secondes, il donnera le reste des valeurs aux cellules B1 et C1.

Exemple # 3 - Pause VBA

Dans cet exemple, nous verrons comment VBA Pause fonctionne avec l'application Sleep . Vous trouverez ci-dessous la syntaxe de l'application Sleep qui autorise ByVal dwMilliseconds uniquement en tant que LongPtr .

Maintenant, cette valeur est en fait en VBA. Nous devons entrer un code préconstruit qui est disponible dans MS Docs comme indiqué ci-dessous.

Étape 1: Maintenant, écrivez la sous-catégorie pour la pause VBA comme indiqué ci-dessous.

Code:

 Sub VBAPause3 () End Sub 

Étape 2: Pour cela, nous aurions besoin de définir 2 variables pour le temps de démarrage et de sommeil en tant que chaîne, comme indiqué ci-dessous.

Code:

 Sub VBAPause3 () Dim commençant en tant que chaîne Dim dormant en tant que chaîne Fin Sub 

Étape 3: Attribuez la fonction de temps à la première variable qui démarre .

Code:

 Sub VBAPause3 () Dim commençant en tant que chaîne Dim dormant en tant que chaîne commençant = Time End Sub 

Étape 4: Et utilisez Msgbox pour voir la valeur stockée dans la variable de démarrage.

Code:

 Sub VBAPause3 () Dim commençant en tant que chaîne Dim dormant en tant que chaîne commençant = Time MsgBox Starting End Sub 

Étape 5: Utilisez maintenant l'application Sleep et allouez le nombre de millisecondes jusqu'à ce que nous voulions mettre les fonctions en veille.

Code:

 Sub VBAPause3 () Dim commençant en tant que chaîne Dim dormant en tant que chaîne Démarrage = Heure MsgBox Démarrage Sleeping = Heure Fin Sub 

Étape 6: Maintenant, de la même manière, appliquez l'application Time à la deuxième variable Sleeping . Et utilisez MsgBox pour voir la valeur stockée dans la variable Sleeping comme indiqué ci-dessous.

Code:

 Sub VBAPause3 () Dim commençant en tant que chaîne Dim dormant en tant que chaîne Démarrage = Time MsgBox Démarrage Sleeping = Heure MsgBox Sleeping End Sub 

Enfin, compilez le code et exécutez-le en cliquant sur le bouton Lecture situé sous la barre de menu, comme indiqué ci-dessous. Nous recevrons la boîte de message avec l'heure qui sera notre heure de départ .

Une fois que nous avons cliqué sur Ok, après 5000 millisecondes, nous verrons une autre boîte de message avec le temps de sommeil comme indiqué ci-dessous.

Le temps de sommeil commencera juste après avoir cliqué sur le bouton OK. Ce n'est pas la différence de temps entre le démarrage et le temps de sommeil. En fait, c'est le temps après avoir cliqué sur le bouton OK d'une première boîte de message.

Avantages de la pause VBA

  • Il est très utile lorsque nous avons plusieurs fonctions à exécuter avec un certain intervalle de temps.
  • Cela peut être utilisé à des fins d'analyse et de calcul.

Choses dont il faut se rappeler

  • Un processus tel que la pause VBA ne peut pas être effectué en enregistrant la macro.
  • Il est toujours préférable d'utiliser le processus montré dans l'exemple-2 pour l'application Wait où nous serons en sécurité de changer l'heure encore et encore au lieu de simplement garder la pause de quelques secondes après l'heure actuelle.
  • L'application de mise en veille de l'exemple-3 ne permet que des millisecondes
  • Le code de pré-construction montré au début de l'exemple-3 est une partie importante à appliquer car il satisfera la syntaxe de l'application Sleep.

Articles recommandés

Ceci est un guide de la pause VBA. Ici, nous discutons de la façon dont nous pouvons suspendre le code à tout moment à l'aide de l'application Wait and Sleep. Vous pouvez également consulter nos autres articles suggérés -

  1. Comment utiliser la fonction VBA IsNumeric?
  2. Création d'une zone de liste déroulante dans Excel
  3. Insérez CheckBox dans Excel
  4. Fonction VBA UCASE dans Excel

Catégorie: