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 :

Comment passer à la ligne dans un textBox [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 142
    Points : 84
    Points
    84
    Par défaut Comment passer à la ligne dans un textBox
    Bonjour,
    Je suis à la recherche d'un code me permettant de passer à la ligne dans un textbox. J'ai trouvé quelques discussions sur le sujet mais celà ne fonctionne pas (ou peut être que je les utilise mal) .
    Mon problème est le suivant :
    J'ai un tableau Excel avec 15 colonnes .Je boucle sur la colonne 1 pour savoir si la cellule 15 n'est pas vide . Dans ce cas je recopie le contenu dans un textbox et je voudrais que le résultat suivant passe à la ligne mais cela ne fonctionne pas. J'ai mis multiline et EnterKeyBehavior à true. Je vous laisse ci-dessous le code utilisé. Si vous pouviez m'apporter votre aide , merci par avance.
    MichaSarah

    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
    Private Sub UserForm_Activate()
    Dim NumLigne As String
    Dim temp1 As String
         Windows("Pamm's.xls").Activate
         Sheets("Pamms").Select
         NumLigne = 7
     
              Do While Not IsEmpty(Cells(NumLigne, 1))
                   If Cells(NumLigne, 15) <> "" Then
                        temp1 = Cells(NumLigne, 15).Value
                        TextBox3 = temp1
                   End If
                        NumLigne = NumLigne + 1
              Loop
    End Sub

  2. #2
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Salut,
    Pour ce genre de cas c'est bien plus simple d'utiliser une ListBox, voici ton code en imaginant que tu crées une ListBox1 à la place de ton TextBox3

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub UserForm_Activate()
    Dim NumLigne As String
    Dim temp1 As String
         Windows("Pamm's.xls").Activate
         Sheets("Pamms").Select
         NumLigne = 7
     
              Do While Not IsEmpty(Cells(NumLigne, 1))
                   If Cells(NumLigne, 15) <> "" Then
                        Me.ListBox1.AddItem Cells(NumLigne, 15).Value
                   End If
                        NumLigne = NumLigne + 1
              Loop
    End Sub
    A+

  3. #3
    Membre éclairé Avatar de laloune
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2005
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2005
    Messages : 485
    Points : 875
    Points
    875
    Par défaut
    Bien le bonjour MichaSarah,

    essaie avec : Chr(13), qui est le code ASCII pour le retour chariot

    genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Textbox1.Value="Hello" & Chr(13) & "World"
    non ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 142
    Points : 84
    Points
    84
    Par défaut
    Bonjour Fvandermeulen et laloune,

    Merci beaucoup pour vos solutions . J'ai regroupé les 2 pour avoir une présentation avec plusieurs lignes, et j'aurais une dernière petite question . Je souhaiterais dans la boucle ajouter une 2ème info dans la ListBox1 comme suit et que cette deuxième info se mette à la ligne. Mais avec le code & Chr(13) & celà ne fonctionne pas. Les infos restent à la suite et seule le sigle tabulation s'affiche. Y a t-il une propriété de la ListBox1 à modifier où bien faut il utiliser une autre synthaxe ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Do While Not IsEmpty(Cells(NumLigne, 1))
                   If Cells(NumLigne, 15) <> "" Then
                        Me.ListBox1.AddItem Cells(NumLigne, 15).Value & Chr(13) & Cells(NumLigne, 14).Value 
                   End If
                        NumLigne = NumLigne + 1
     Loop

    Encore merci
    MichaSarah

  5. #5
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Salut,
    Tu dois utiliser le même principe, c'est à dire Add Item

    Donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Do While Not IsEmpty(Cells(NumLigne, 1))
                   If Cells(NumLigne, 15) <> "" Then
                        Me.ListBox1.AddItem Cells(NumLigne, 15).Value 
                        Me.ListBox1.addItem Cells(NumLigne, 14).Value 
                   End If
                        NumLigne = NumLigne + 1
     Loop
    Tu peux aussi, faire apparaitre ça dans une deuxième colonne de ta listbox, dans ce cas:

    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
    Dim NumLigne As String
    Dim temp1 As String
     
         Windows("Pamm's.xls").Activate
         Sheets("Pamms").Select
         NumLigne = 7
         ListBox1.ColumnCount = 2 'Défini le nombre de colonne
     
              Do While Not IsEmpty(Cells(NumLigne, 1))
                   If Cells(NumLigne, 15) <> "" Then
                        Me.ListBox1.AddItem Cells(NumLigne, 15).Value 'Ajoute l'item par défaut dans 1ère Col.
                        Me.ListBox1.List(ListBox1.ListCount - 1, 1) = Cells(NumLigne, 14).Value 'Ajoute litem dans la même ligne, 2ème Col.
                   End If
                        NumLigne = NumLigne + 1
              Loop
    A+

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 142
    Points : 84
    Points
    84
    Par défaut
    Bonjour Fvandermeulen,

    Merci pour ces nouveaux conseils . Pour le 2ème cas j'ai compris le principe mais celà ne fonctionne pas chez moi.
    Merci
    MichaSarah

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 142
    Points : 84
    Points
    84
    Par défaut
    Bonjour Fvandermeulen,
    Je viens de m'apercevoir que je n'avais pas indiquer, dans propriété, le nombre de colonnes à afficher. Celà fonctionne.

    Encore merci
    MichaSarah

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

Discussions similaires

  1. Passer à la ligne dans Textbox multiline
    Par urbanspike dans le forum VB.NET
    Réponses: 2
    Dernier message: 04/08/2011, 12h19
  2. Réponses: 14
    Dernier message: 19/11/2010, 10h28
  3. [C#] Comment supprimer une ligne dans DataGrid ?
    Par BAUDIER dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/07/2004, 16h03
  4. Comment griser une ligne dans une TListBox ?
    Par SegmentationFault dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/06/2004, 09h15
  5. [TLisBox] Comment passer à la ligne ?
    Par gamez dans le forum Composants VCL
    Réponses: 2
    Dernier message: 18/06/2004, 23h52

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