Imprimer la sortie dans la fenêtre immédiate dans VBA

Glen Alfaro 30 janvier 2023
  1. Ouvrir la fenêtre immédiate dans Excel VBA
  2. Imprimer les informations dans la fenêtre immédiate dans Excel VBA
  3. Utilisez Fenêtre immédiate pour demander des informations sur le classeur actif dans Excel VBA
Imprimer la sortie dans la fenêtre immédiate dans VBA

Le débogage est l’une des parties les plus complexes du développement de logiciels en programmation informatique. La bonne chose est que le créateur de VBA nous a permis de déboguer facilement le code VBA.

Plusieurs outils de débogage sont à un endroit comme la Fenêtre immédiate, les Points d'arrêt, les Étapes, les Observateurs de variables, etc., pour aider l’utilisateur pendant la phase de débogage du développement du programme.

Parmi les nombreux outils de débogage, la fenêtre immédiate de VBA (la fenêtre de débogage de VBA) est une option populaire. Il permet à l’utilisateur d’imprimer, de demander et d’exécuter des méthodes et des variables lors de l’exécution du code.

Il permet à l’utilisateur d’obtenir des réponses immédiates sur les variables et les étapes. Il est intégré à Visual Basic Editor et a différentes utilisations, ce qui peut être très utile lors du débogage du code et de l’affichage des résultats du code.

Ce tutoriel plongera dans l’utilisation et les avantages de l’utilisation de la fenêtre immédiate de VBA.

Ouvrir la fenêtre immédiate dans Excel VBA

Suivez ces étapes ci-dessous si la fenêtre immédiate dans VBA n’est pas visible dans Visual Basic Editor.

  • Ouvrir le fichier Excel.
  • Depuis l’onglet ·Développeur·, ouvrez l’éditeur ·Visual Basic·.
  • Dans la barre d’outils Affichage, cliquez sur Fenêtre immédiate. Vous pouvez également appuyer sur CTRL+G pour afficher la fenêtre.

Vous pouvez maintenant voir la fenêtre immédiate d’Excel VBA.

Imprimer les informations dans la fenêtre immédiate dans Excel VBA

L’une des utilisations de l’outil est sa capacité à imprimer des chaînes et des valeurs. C’est très utile quand il s’agit de l’élaboration de programmes. Cela vous permettra de tester le code à un niveau plus granulaire.

Syntaxe:

Debug.Print [Strings to print]

Le code ci-dessous montre comment imprimer en utilisant la propriété Debug.Print.

Sub PrintToImmediateWindow()

Debug.Print "This will be printed on the Immediate Window."

End Sub

Sortie PrintToImmediateWindow :

Immediate Window:

This will be printed on the Immediate Window.

Le bloc de code ci-dessous illustrera l’impression de la valeur d’une variable.

Sub PrintVariableValue(toPrint As String)

Debug.Print (toPrint)

End Sub

Sub testPrint()

Call PrintVariableValue("testPrint123")

End Sub

Sortie testPrint :

Immediate Window:

testPrint123

Le bloc de code ci-dessous affichera Succès ! dans la Fenêtre immédiate lorsqu’un nombre généré aléatoirement est divisible par 3.

Sub StopWhenDivisible3()

Dim n As Integer
Dim isSuccess As Boolean

Do Until isSuccess = True

    n = Int((6 * Rnd) + 1)
    Debug.Print n & " is the current number"
    If n Mod 3 = 0 Then
        Debug.Print "Success!"
        isSuccess = True
    End If
Loop
End Sub

Sortie StopQuandDivisible3 :

Immediate Window:

2 is the current number
4 is the current number
4 is the current number
2 is the current number
2 is the current number
5 is the current number
5 is the current number
4 is the current number
6 is the current number
Success!

Utilisez Fenêtre immédiate pour demander des informations sur le classeur actif dans Excel VBA

L’une des capacités de la fenêtre immédiate consiste à renvoyer des réponses basées sur les informations actuelles du classeur actif. Le premier caractère de la ligne doit être un point d’interrogation ? pour lancer une commande ask.

Les blocs ci-dessous montreront comment utiliser la fenêtre immédiate pour obtenir des informations sur le classeur actif.

Pour obtenir le numéro d’une feuille de calcul dans le classeur actif :

Immediate Window

?Worksheets.Count
3

Obtenez le nom du classeur actif :

Immediate Window:

?ActiveWorkbook.FullName
Book1

Obtenez le nom de la feuille de calcul active :

Immediate Window:

?ActiveSheet.Name
Sheet1