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 :

Modifier une listbox dans un userform


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 275
    Points : 152
    Points
    152
    Par défaut Modifier une listbox dans un userform
    Bonjour,

    Je permet de vous demander de l'aide, je vous expliques

    J'ai récuperer un code vba pour plusieurs selections dans une listbox,

    sur le userform j'ai mis une listbox avec un seul choix donc le code fonctionne mais n'ai pas très claire.

    Est-ce possible de me dire se que je dois retirer qui est inutile?

    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
     
    Option Explicit
     
    Private Sub CommandButton1_Click()
    Dim i As Byte
    Dim ValeurARetourner As String
     
        For i = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(i) = True Then
                ValeurARetourner = ValeurARetourner & ListBox1.List(i) & " & "
            End If
        Next i
     
    Range("C2") = Left(ValeurARetourner, Len(ValeurARetourner) - 3)
    Range("C3").Activate
    UserForm1.Hide
    Unload UserForm1
    End Sub
     
    Private Sub ListBox1_Click()
     
    End Sub
     
    Private Sub UserForm_Initialize()
    Dim i As Integer, Derlig As Integer
    ListBox1.Clear
     
    Derlig = Sheets("Services").Cells(65536, 5).End(xlUp).Row
        For i = 2 To Derlig
            ListBox1.AddItem Sheets("Services").Cells(i, 5).Value
        Next i
        For i = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(i) = True Then
                ListBox1.Selected(i) = False
            End If
        Next i
    End Sub
    Cordialement,

    vincent

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Useless

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        For i = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(i) = True Then
                ListBox1.Selected(i) = False
            End If
        Next i

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 275
    Points : 152
    Points
    152
    Par défaut
    Merci EngueEngue,

    Mais il y a une erreur à la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C2") = Left(ValeurARetourner, Len(ValeurARetourner) - 3)
    Le message d'erreur est: erreur d'execution '5':
    argument ou appel de procedure incorrect

    Cordialement,

    Vincent.

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Il faut essayer de faire son code pas prendre un code tout fait qui ne marchera bien sûr pas.

    Ne sachant pas ce que tu veux faire je ne peux pas t'aider.

    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 CommandButton1_Click()
    Dim i As Byte
     
     For i = 0 To ListBox1.ListCount - 1
      If ListBox1.Selected(i) = True Then   
     Range("C2") =ListBox1.List(i) 
    Range("C3").Activate  
    exit for   
            End If
    Next i
     
    UserForm1.Hide
    Unload UserForm1
    End Sub

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Tu peux réduire à ceci, plutôt que boucler et utiliser AddItem

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Derlig = Sheets("Services").Cells(Rows.Count, 5).End(xlUp).Row
    ListBox1.List = Sheets("Services").Range("E2:E" & DerLig).Value
    Et comme déjà dit, rien ne sert de vérifier si un item est sélectionné dans le Initialize. Comme tu viens juste de remplir la liste aucun élément ne peut être sélectionné...

  6. #6
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 275
    Points : 152
    Points
    152
    Par défaut
    Escuse moi.

    J'explique, je veux dans une listbox une colonne d'une feuille

    et quand je clique sur un nom dans la listbox et puis ok se nom se met dans la cellule C2

    Désolé encore

    cordialment,

    vincent.

  7. #7
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CommandButton1_Click()
     
    Range("C2") = Listbox1.value
     
    UserForm1.Hide
     
    End Sub
    Avec la proposition pertinente de parmi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_Initialize()
    Dim i As Integer, Derlig As Integer
    ListBox1.Clear
     Derlig = Sheets("Services").Cells(Rows.Count, 5).End(xlUp).Row
    ListBox1.List = Sheets("Services").Range("E2:E" & DerLig).Value
    End Sub

  8. #8
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 275
    Points : 152
    Points
    152
    Par défaut
    Ah merci beaucoup.

    Sa marche parfaitement,

    Et le code est meiux. je vaisd l'étudier.

    Merci beaucoup.

    Cordialement,

    Vincent

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 23/04/2014, 16h54
  2. [XL-2010] Filtrer une listbox dans Userform
    Par crissud dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/12/2013, 12h22
  3. modifier une variable dans un fichier
    Par Guismay dans le forum Langage
    Réponses: 7
    Dernier message: 11/09/2005, 19h46
  4. [C#] Modifier une valeur dans une DataTable
    Par Scorff dans le forum ASP.NET
    Réponses: 2
    Dernier message: 23/05/2005, 10h45
  5. Comment faire pour modifier une ligne dans une DBGrid?
    Par Nico62 dans le forum C++Builder
    Réponses: 6
    Dernier message: 29/03/2005, 12h24

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