IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-EXCEL] Afficher le résultat d'une variable à l'écran


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Par défaut [VBA-EXCEL] Afficher le résultat d'une variable à l'écran
    Bonjour à tous,

    Je cherche à afficher à l'écran le contenu d'une variable.
    Pour l'instant, je me sers d'un msgbox et chaque fois je dois cliquer sur OK.
    Comment faire pour l'afficher sans avoir à cliquer ?

    Le code sur lequel je travaille actuellement est le suivant.
    Je cherche l'occurence de la châine "TC" dans toutes les cellules d'un classeur, que ce soit dans le libellé de la cellule ou dans la formule qu'elle contient. Lorsque trouvée, la cellule est en jaune si c'est dans un libellé ou en rose si cette occurence se trouve dans une formule.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Sub IdentifierCellulesAvecChaineDeCaractèresStipulée()
     
        Dim SearchString, SearchChar As String
        Dim Feuille As Worksheet
        Dim Cell As Range
     
      ' Pour chacune des feuilles contenues dans un classeur,
      ' cherche les cellules connant la chaîne de caractères SearchChar
      ' avec respect de la casse et applique une couleur de fond jaune
      ' si elle les contient.
     
        SearchChar = "TC"
     
        For Each Feuille In Worksheets
            For Each Cell In Worksheets(Feuille.Name).UsedRange.Cells
     
                If Cell.HasFormula Then
                    SearchString = Cell.Formula
                    If InStr(1, SearchString, SearchChar, 0) > 0 Then
                        MsgBox (Feuille.Name & " // " & SearchString & " (dans le libellé !!!) ")
                        Cell.Interior.ColorIndex = 7 'Rose fluo
                    End If
                End If
     
                MsgBox (Feuille.Name & " // " & Cell.Value)
                If Not IsNumeric(Cell.Value) Then
                    SearchString = Cell.Value
                    If InStr(1, SearchString, SearchChar, 0) > 0 Then
                        MsgBox (Feuille.Name & " // " & SearchString & " (dans la formule !!!) ")
                        Cell.Interior.ColorIndex = 6 'Jaune fluo
                    End If
     
                End If
     
            Next Cell
        Next Feuille
     
    End Sub

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu peux définir le temps d'affichage. Tu as ça dans la FAQ.
    Comme je l'ai, ici affichage 1 seconde
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        CreateObject("Wscript.shell").Popup Texte_A_Afficher, 1, "Titre de la boîte"
    Bonne soirée

  3. #3
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Bonsoir,

    Voir aussi Debug.print .

  4. #4
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Par défaut suite...
    Re-bonjour,

    1) Je ne trouve pas dans la FAQ
    2) Je voudrais que ça s'affiche à l'écran pas dans la fenêtre d'exécution
    3) Je voudrais que ça s'affiche à l'écran dans un truc style msgbox sur laquelle il n'y aurait plus à cliquer et où l'affichage se rafraichirait à chaque nouvelle affichage


    mci de votre aide

  5. #5
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    re,

    Utilise un userform avec une listbox où un textbox multiligne..

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    As-tu testé la solution que je t'ai donnée ? Elle évite l'userform + 1 textbox + 1 tempo pour ne laisser affiché ton message qu'un temps limité... Si ça ne te convient pas, dis ce qui ne te convient pas et ce qui te conviendrait, on ira plus vite
    Ce que je n'ai pas dit dans mon premier post est que les boutons ne servent que si on veut récupérer une indication sur le bouton activé. Sinon, c'est le temps indiqué qui conditionne la durée d'affichage.
    Exemple : r = InputBox(".....", ...., paramètre)

  7. #7
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Bonsoir,

    Citation Envoyé par JackOuYA Voir le message
    re,

    Utilise un userform avec une listbox où un textbox multiligne..
    si tu n'as qu'une valeur à afficher, utilise un userform : UserForm1, avec un label : Label1

    et dans un module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub YaBoucle()
     Dim i As Integer
     UserForm1.Show False
     For i = 1 To 1000
        UserForm1.Label1 = i
        DoEvents
     Next
    Unload UserForm1
     End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/07/2013, 14h53
  2. Afficher le résultat d'une variable sans les alerts
    Par qwark dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 29/03/2012, 18h31
  3. Réponses: 1
    Dernier message: 19/02/2011, 19h03
  4. Réponses: 13
    Dernier message: 26/07/2007, 08h50
  5. [VBA-Excel] affecter la valeur infinie à une variable
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/09/2006, 21h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo