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 :

Envoyer les valeurs d'une LISTBOX dans une feuille excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2017
    Messages : 22
    Par défaut Envoyer les valeurs d'une LISTBOX dans une feuille excel
    Bonjour,
    Apres avoir créée une Listbox dans un Userform, alimenté par le nom de ma zone de liste dans RowSource, je rencontre un problème pour envoyer la ou les lignes sélectionnées dans un feuille excel "ARCHIVE CONGES".
    Voici le code du bouton "VALIDER" :

    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
    Private Sub CommandButton1_Click()
     
    Dim element_select As Boolean
    Dim nb_element, i As Integer
    Dim dest As Range
     
    element_select = False
    nb_element = ListBox2.ListCount
     
     
    With Worksheets("ARCHIVE CONGES")
        For i = 0 To nb_element - 1
            If ListBox2.Selected(i) = True Then
                element_select = True
                Set dest = IIf(.Range("A5").Value = "", .Range("A5"), .Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
                dest.Value = ListBox1.List(i, 0)
                dest.Offset(0, 3) = ListBox2.List(i, 2)
                dest.Offset(0, 4) = ListBox2.List(i, 3)
                dest.Offset(0, 5) = ListBox2.List(i, 4)
            End If
        Next
        If element_select = False Then
            MsgBox "vous n'avez rien selectionné"
        End If
    End With
     
    End Sub
    Apres avoir validé, une erreur me dirige vers la ligne :

    For i = 0 To nb_element - 1

    celle ci me renvoi le nombre 1 048 572

    Etant débutante j'avoue ne pas bien maîtriser totalement ce code. Est ce que quelqu’un y voit une erreur flagrante?
    Je vous remercie.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour comprendre d'où vient le problème, il faudrait visualiser le code qui aliment le contrôle ListBox.
    D'après le nombre renvoyé (1 048 572), il semblerait que tu aies alimenté ce contrôle d'une ou plusieurs colonnes de toutes les lignes de la feuille source.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2017
    Messages : 22
    Par défaut
    Je n'ai pas alimenté ma liste box par un code, j'ai seulement inscrit le nom de la zone de liste (correspondant a mes données) dans RowSource.

    Est ce un problème?

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    j'ai seulement inscrit le nom de la zone de liste (correspondant a mes données) dans RowSource
    Quelle est cette zone liste ?
    Une plage nommée, un tableau ?
    Quelle est l'adresse de référence de cette zone de liste ?

    Est ce un problème?
    Non, la valeur de la propriété RowSource peut être remplie manuellement ou à l'aide d'un code VBA
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2017
    Messages : 22
    Par défaut
    Cette liste provient d'une plage nommée, mais les données de cette plage sont d'un tableau.
    J'ai effectué deux listbox :
    - Listbox2 prend en plage nommée "DMDCON2" les données du tableau.
    - ListBox1 prend en plage nommée "DMDCONTITRE" les intitulés en colonnes du tableau.

    Ainsi une fois la ou les lignes selectionnées dans lisbox2, avec ce code je voulais envoyer les données dans une feuille excel...

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Comme je l'ai écrit dans ma dernière intervention
    Quelle est l'adresse de référence de cette zone de liste ?
    Pour connaître les références de ces deux plages nommées il suffit de le vérifier à l'aide du gestionnaire des noms
    Si les plages nommées DMDCON2 et DMDCONTITRE sont de portabilité classeur, une autre manière de le visualiser est de le lister dans une feuille vide.
    1. Insérer une nouvelle feuille (raccourci clavier combinaison des touches Shift (ou Maj pour les français) + F11)
    2. Sélectionner une cellule
    3. Appuyer sur la touche F3

    Une colonne contiendra la liste des noms et l'autre la référence (Feuille + cellules)
    Quelle est cette référence ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. [Débutant] Mettre une listBox dans une colonne d'une listView
    Par Tom57300 dans le forum VB.NET
    Réponses: 1
    Dernier message: 23/04/2014, 15h40
  2. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  3. récuperer les données cochées dans une listbox dans une nouvelle liste
    Par Lost_in_VBA dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/07/2011, 12h12
  4. Réponses: 3
    Dernier message: 13/01/2009, 16h55
  5. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13

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