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 :

Recupération donnees dans ListBox


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 304
    Par défaut Recupération donnees dans ListBox
    Bonjour à tous,


    j'utilise une userform avec des listbox sur lesquelles je fait des multiselection, ensuite, je valide ma userform, et ma selection est copiée dans Excel sur une ou plusieurs cellules (en colonne) suivant ma selection.

    Je veux ensuite pouvoir modifier cette selection à partir de la userform, et donc ce que je voudrais c'est quelle s'ouvre avec ma selection déjà faite, c'est à dire toutes ma selection (en surbrillance) + ceux que je n'ai pas selectionner, afin de pouvoir faire d'éventuelles modifications.

    Actuellement, je n'arrive pas à récupérer la totalité, je récupère uniquement ma selection.

    Mon précédent post avec la multiselection : http://www.developpez.net/forums/.../

    Par avance merci pour votre aide

    Meumeu73.1

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 102
    Par défaut
    Bonjour

    Le code ci dessous permet de lister tous les éléments

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
       For i = 0 To ListBox1.ListCount - 1
           if ListBox1.Selected(i) = False then
           ' action à faire si sélection
           else
           ' action a faire si pas sélection
           end if
        Next i
    JP

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 304
    Par défaut
    Merci,

    Mais en lorsque j'ouvre ma userform avec le bouton "Nouveau", je veux qu'il réinitialise la userform (tout à zéro).

    Par contre, lorsque j'ouvre ma userform avec le bouton "modifier", je veux qu'il m'ouvre ma userform avec la liste totale des choix mais en indiquant ceux qui aurait pu être sélectionner précédemment.

    En sachant que les listes sont d'un feuillet différent de celui de la selection.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 102
    Par défaut
    Bonsoir

    Ci joint un exemple de procédure pour indiquer les éléments validé.

    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
     
    Private Sub UserForm_Initialize()
    Dim cel As Range
    Dim col As New Collection
    Dim erreur1 As Boolean
    ' la listbox est alimenté par rowsource
    For Each cel In Sheets("Feuil2").Range("a2:a10")' zone qui contient le résultat
        On Error Resume Next
        col.Add cel, CStr(cel)
    Next cel
    On Error GoTo 0
     
     
    For i = 0 To ListBox1.ListCount - 1
        On Error GoTo erreur
         col.Add ListBox1.List(i), CStr(ListBox1.List(i))
         If erreur1 = True Then ListBox1.Selected(i) = True ' une erreur donc l'item de listbox a été selectionné
         erreur1 = False
    Next i
    Exit Sub' sortie de la macro
    erreur: ' pour positionner un drapeau
    erreur1 = True
    Resume Next ' on retourne à l'instruction suivante
    End Sub
    A adapter en fonction de l'environnement.
    J'utilise une collection pour éviter des boucles.

    JP

Discussions similaires

  1. [Débutant] Affichage tableau de données dans ListBox
    Par nitrosyle dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 01/08/2007, 11h06
  2. Ajouter des données dans un objet Listbox
    Par nuans dans le forum Interfaces Graphiques
    Réponses: 11
    Dernier message: 23/05/2007, 11h49
  3. Copie de donnees dans SQL server 2000
    Par papayou42 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/12/2003, 10h58
  4. Recherche de donnee dans une table associée
    Par josoft dans le forum Requêtes
    Réponses: 2
    Dernier message: 14/07/2003, 15h22
  5. importer des donnees dans interbase
    Par ms91fr dans le forum InterBase
    Réponses: 3
    Dernier message: 25/11/2002, 17h43

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