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 :

Nom d'utilisateur dans un TextBox [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 148
    Points
    148
    Par défaut Nom d'utilisateur dans un TextBox
    Bonjour,
    je voudrais mettre en place une TextBox pour des commentaires comme une sorte de chat eg:
    a chaque fois qu'un utilisateur voudrait mettre un commentaire, il sélectionne la TextBox donc le curseur doit se mettre sur la dernière ligne et insérer le nom de machine de l’utilisateur, voici a quoi le contenu du TextBox doit ressembler:

    Pierre: il fait chaud
    Paul: oui je confirme
    jack: pas trop comme même

    merci pour votre aide

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    et tu sais faire quoi ? intercepter l'événement de sélection de ton text box ? récupérer le nom d'utilisateur ? écrire dans ton text box ?

    essai de découper ton travail en tâche élémentaires et dit nous ce que tu n'arrive pas à faire ...

  3. #3
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 148
    Points
    148
    Par défaut
    Merci bbil,

    voici le code qui me permet d'activer la Textbox:
    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
    If CommandButton1.Caption = ("Insert Comment") Then
    CommandButton1.Caption = ("Save")
     
    With TextBox1
        .Locked = False
        .SetFocus
        .EnterKeyBehavior = True
        .BackColor = -2147483643
        .SpecialEffect = fmSpecialEffectSunken
        .MousePointer = fmMousePointerDefault
    '    .CanPaste = True
    End With
     
    TextBox1.Value = ThisWorkbook.Worksheets("Dashboard").Range("B" & BB).Offset(0, 10 + ComboBox2.ListIndex)
    Else
    ThisWorkbook.Worksheets("Dashboard").Range("B" & BB).Offset(0, 10 + ComboBox2.ListIndex) = TextBox1.Value
    CommandButton1.Caption = ("Insert Comment")
     
    With TextBox1
        .BackColor = -2147483633
        .SpecialEffect = fmSpecialEffectFlat
        .Locked = True
        .MousePointer = fmMousePointerArrow
    End With
     
    End If
    et je veux que lors de l'activation du TextBox il insère le nom de l'utilisateur si la TexteBox est vide sinon il doit insérer le nom dans la dernière ligne

    je reste a votre disposition pour plus de détails

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour LaPanic

    Je ne sais pas si cela va te servir mais tu pourrais utiliser cette partie de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    'Déclaration de la variable du pseudonyme ( a renseigner )
     
     
    TextBox1.Text = TextBox1.Text & Chr(10) & Environ("USERNAME") & " : "
     
    End sub
    Bonne chance
    Balborio

  5. #5
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Points : 9 402
    Points
    9 402
    Par défaut
    Bonjour,

    Ci dessous une solution pour insérer le nom de l'utilisateur windows dans une textbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TextBox1_GotFocus()
    If TextBox1.Value = "" Then TextBox1.Value = Environ("USERNAME") & Chr(13)
    End Sub

  6. #6
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 148
    Points
    148
    Par défaut
    Bonjour et merci pour vos réponses:
    j'ai ajouté le code suivant et ça marche sauf que la j'essaye de perfectionner

    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
    Dim Z, Y As String
     
    If CommandButton1.Caption = ("Insert Comment") Then
    CommandButton1.Caption = ("Save")
    Z = ThisWorkbook.Worksheets("Dashboard").Range("B" & BB).Offset(0, 10 + ComboBox2.ListIndex)
    With TextBox1
        .Locked = False
        .SetFocus
        .EnterKeyBehavior = True
    End With
     
        TextBox1.Value = Z
        If TextBox1.Value = "" Then
        TextBox1.Value = Environ("USERNAME") & ": " & Y
        Else
        TextBox1.Value = Z & Chr(10) & Chr(10) & Environ("USERNAME") & ": " & Y
        End If
     
    Else
    ThisWorkbook.Worksheets("Dashboard").Range("B" & BB).Offset(0, 10 + ComboBox2.ListIndex) = TextBox1.Value
    CommandButton1.Caption = ("Insert Comment")
     
    With TextBox1
        .Locked = True
    End With
     
    End If
    j'ai ajouté une variable Y pour récupérer le texte saisi par l'utilisateur car si celui ci saisie un texte donc il peut sauvegarder son nom et le texte saisi sinon (ne saisi aucun texte ) il sauvegarde le texte initial dans la TextBox
    je me suis un peut embrouillé et merci pour votre aide

  7. #7
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 148
    Points
    148
    Par défaut
    Bonjour,
    j'ai trouvé une solution qui marche bien sauf que si c'est possible d'optimiser !?
    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
    39
    40
    Private Sub CommandButton1_Click()
    Dim Z, Y, W As String
     
    Y = Environ("username") & ": "
    If CommandButton1.Caption = ("Insert Comment") Then
        CommandButton1.Caption = ("Save")
        Z = ThisWorkbook.Worksheets("Dashboard").Range("B" & BB).Offset(0, 15 + ComboBox2.ListIndex)
        With TextBox1
            .Locked = False
            .SetFocus
            .EnterKeyBehavior = True
        End With
     
            If Len(Z) - Len(Y) > 0 Then
                W = Z & Chr(10) & Chr(10) & Y
            Else
                W = Y
            End If
            TextBox1.Value = W
    Else
     
            If Len(TextBox1.Value) - Len(Y) > 0 Then
     
                If Right(TextBox1.Value, Len(Y)) = Y Then
                    TextBox1.Value = ThisWorkbook.Worksheets("Dashboard").Range("B" & BB).Offset(0, 15 + ComboBox2.ListIndex)
                End If
     
            Else
                TextBox1.Value = ""
            End If
     
        ThisWorkbook.Worksheets("Dashboard").Range("B" & BB).Offset(0, 15 + ComboBox2.ListIndex) = TextBox1.Value
        CommandButton1.Caption = ("Insert Comment")
     
        With TextBox1
            .Locked = True
        End With
     
    End If
    End Sub
    merci pour votre aide

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

Discussions similaires

  1. Récupérer le nom et prénom d'utilisateur dans une textbox
    Par juju1988 dans le forum Windows Forms
    Réponses: 16
    Dernier message: 09/02/2010, 21h24
  2. Récupérer le nom d'utilisateur dans un applet
    Par grenoult dans le forum Applets
    Réponses: 1
    Dernier message: 17/03/2008, 14h35
  3. Réponses: 5
    Dernier message: 19/02/2008, 09h53
  4. Sélection d'un nom de feuille dans un textbox
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 28
    Dernier message: 26/09/2007, 16h40

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