drasche  | J'ai trouvé ceci: le code qui suit est dans un module avec la fonction Main() comme point d'entrée de l'application.  Le "problème" est qu'il crée une fenêtre console à lui.  Je l'ai trouvé sur une page web écrite en allemand et l'ai remanié un peu, sinon la doc officielle se trouve sur Q171654
  
  Code :
 - Option Explicit
 - ' Alloue une console
 - Private Declare Function AllocConsole Lib "kernel32" () As Long
 - ' Libère une console
 - Private Declare Function FreeConsole Lib "kernel32" () As Long
 - ' stdin/stdout/stderr
 - Private Declare Function GetStdHandle Lib "kernel32" _
 -         (ByVal nStdHandle As Long) As Long
 - Private Declare Function SetConsoleTextAttribute Lib "kernel32" _
 -         (ByVal hConsoleOutput As Long, ByVal wAttributes As Long) _
 -         As Long
 - Private Declare Function SetConsoleTitle Lib "kernel32" Alias _
 -         "SetConsoleTitleA" (ByVal lpConsoleTitle As String) _
 -         As Long
 - Private Declare Function WriteConsole Lib "kernel32" Alias _
 -         "WriteConsoleA" (ByVal hConsoleOutput As Long, ByVal _
 -         lpBuffer As Any, ByVal nNumberOfCharsToWrite As Long, _
 -         lpNumberOfCharsWritten As Long, lpReserved As Any) As Long
 - Private Declare Function ReadConsole Lib "kernel32" Alias _
 -         "ReadConsoleA" (ByVal hConsoleInput As Long, ByVal _
 -         lpBuffer As String, ByVal nNumberOfCharsToRead As Long, _
 -         lpNumberOfCharsRead As Long, lpReserved As Any) As Long
 - Const STD_INPUT_HANDLE = -10&
 - Const STD_OUTPUT_HANDLE = -11&
 - Const STD_ERROR_HANDLE = -12&
 - Const FOREGROUND_BLUE = &H1
 - Const FOREGROUND_GREEN = &H2
 - Const FOREGROUND_RED = &H4
 - Const FOREGROUND_INTENSITY = &H8
 - Const BACKGROUND_BLUE = &H10
 - Const BACKGROUND_GREEN = &H20
 - Const BACKGROUND_RED = &H40
 - Const BACKGROUND_INTENSITY = &H80
 - Const ENABLE_LINE_INPUT = &H2
 - Const ENABLE_ECHO_INPUT = &H4
 - Const ENABLE_MOUSE_INPUT = &H10
 - Const ENABLE_PROCESSED_INPUT = &H1
 - Const ENABLE_WINDOW_INPUT = &H8
 - Const ENABLE_PROCESSED_OUTPUT = &H1
 - Const ENABLE_WRAP_AT_EOL_OUTPUT = &H2
 - Private hConsoleIn As Long
 - Private hConsoleOut As Long
 - Private hConsoleErr As Long
 - Public Sub Main()
 -     ' Création de la console
 -     CreateConsole
 -     ' Test de console en in/out
 -     TestConsole
 -     ' Fermeture de la console
 -     UnLoadConsole
 - End Sub
 - Private Sub CreateConsole()
 -     ' Création de la console
 -     Call AllocConsole
 -     Call SetConsoleTitle("VB Console" )
 -     ' Récupère les flux (streams) standards
 -     hConsoleIn = GetStdHandle(STD_INPUT_HANDLE)
 -     hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE)
 -     hConsoleErr = GetStdHandle(STD_ERROR_HANDLE)
 - End Sub
 - Private Sub ConsolePrint(ByRef strText As String)
 -   ' Envoie strText vers la console (flux de sortie, stdout)
 -   Call WriteConsole(hConsoleOut, strText, Len(strText), vbNull, vbNull)
 - End Sub
 - ' Lecture d'une chaîne depuis le flux d'entrées (stdin)
 - Private Function ConsoleRead() As String
 -     Dim strInput As String
 -     ' Remplissage d'un espace fixe
 -     strInput = Space$(256)
 -     ' Lecture de la console
 -     Call ReadConsole(hConsoleIn, strInput, Len(strInput), _
 -                      vbNull, vbNull)
 -     ' Renvoi des données pertinentes
 -     ConsoleRead = Left$(strInput, InStr(strInput, Chr$(13)) - 1)
 - End Function
 - Private Sub UnLoadConsole()
 -     ' Destruction de la console
 -     Call FreeConsole
 - End Sub
 - ' Test de la console
 - Private Sub TestConsole()
 -     Dim strUserInput As String
 -     ' Définition du mode texte
 -     Call SetConsoleTextAttribute(hConsoleOut, FOREGROUND_RED Or _
 -                                  FOREGROUND_GREEN Or _
 -                                  FOREGROUND_BLUE Or _
 -                                  FOREGROUND_INTENSITY Or _
 -                                  BACKGROUND_BLUE)
 -     ' Présentation de l'application
 -     Call ConsolePrint(App.Title & vbCrLf)
 -     ' Modification de l'attribut texte
 -     Call SetConsoleTextAttribute(hConsoleOut, FOREGROUND_RED Or _
 -                                  FOREGROUND_GREEN Or _
 -                                  FOREGROUND_BLUE)
 -     ' Demande d'info
 -     Call ConsolePrint("Veuillez entrer votre nom: " )
 -     ' Lecture d'une donnée sur le flux d'entrées standard (stdin)
 -     strUserInput = ConsoleRead()
 -     ' Traitement de la donnée par renvoi sur le flux de sortie (stdout)
 -     If Not strUserInput = vbNullString Then
 -         Call ConsolePrint("Bonjour, " & strUserInput & "!" & vbCrLf)
 -     Else
 -         Call ConsolePrint("Bonjour, anonyme!" & vbCrLf)
 -     End If
 -     ' Demande de frappe d'une touche
 -     Call ConsolePrint("Veuillez appuyer sur une touche pour fermer l'application" )
 -     ' Lecture de données sur le flux d'entrées standard (stdin)
 -     Call ConsoleRead
 - End Sub
 
  |  
    |