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 :

Donnees Listbox vers feuil1


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1
    Par défaut Donnees Listbox vers feuil1
    Bonjour,

    Etant debutant dans vb excel , j'aurai besoin de vos connaissances pour me depanner un peu sur les deux points suivants:

    1. Dans ma listbox j'ai mis les donnees d'une feuille de fichier excel, feuil2, cellule B1:B200. J'aimerai faire apparaitre ces donnees dans la feuil1 dans la cellule A27 àA79 et de la cellule A113 a A157 , je voudrais que ces données se mettent les unes en dessous des autres après sélection dans ma listbox par la commande CommandButton1_Click()

    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
    Private Sub CommandButton1_Click()
    If UserForm1.Visible = True Then
    End If
        Dim element_select As Boolean
        Dim nb_elements, i   As Integer
        element_select = False
        nb_elements = UserForm1.ListBox1.ListCount
    'Vérifie si un élément est sélectionné
    'le 1er item (élément) est indexé à zéro, raison pour laquelle la boucle for démarre à zéro
        For i = 0 To nb_elements - 1
            If UserForm1.ListBox1.Selected(i) = True Then
                element_select = True
                Exit For
           End If
        Next
    'sélectionne la cellule devant recevoir la 1ère valeur
        Range("A27").Select
     
    'Ecriture des valeurs sélectionnés dans la feuille Excel
        For i = 0 To nb_elements - 1
    'affecte à la cellule active la valeur sélectionnée de la colonne un de la ListeBox
    'l'index des colonnes commançant à zéro, on utilise la valeur 0
                ActiveCell.Value = ListBox1.List(i, 0)
    'se déplace d'une cellule vers le bas
                ActiveCell.Offset(1, 0).Select
     
        Next i
    End Sub

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour and welcom

    Cela devrait ressembler à ceci :
    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
    Private Sub CommandButton1_Click()
    Dim nb_elements As Integer, i As Integer, x As Integer
     
    'compte le nombre d'éléments sélectionnés
    nb_elements = userform1.listbox1.ListCount
    'si aucun élément sélectionné on quitte la procédure
    If nb_elements = 0 Then Exit Sub
     
    'le 1er item (élément) est indexé à zéro, raison pour laquelle la boucle for démarre à zéro
    For i = 0 To nb_elements - 1
        If userform1.listbox1.Selected(i) = True Then
            Range("A" & 27 + x) = userform1.listbox1.List(i)
            Range("A" & 113 + x) = userform1.listbox1.List(i)
            x = x + 1
        End If
    Next
     
    End Sub

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Voui ! Parfaitement ! (Hello Fring) Même qu'il faut toujours écouter cet excellent Fring...
    On peut juste un peu simplifier...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub CommandButton1_Click()
    Dim nb_elements As Integer, i As Integer, x As Integer
    'le 1er item (élément) est indexé à zéro, raison pour laquelle la boucle for démarre à zéro
    'Si ListBox1 est vide, Listcount = 0 => 0 - 1 = -1 => la boucle est ignorée
        For i = 0 To UserForm1.ListBox1.ListCount - 1
            If UserForm1.ListBox1.Selected(i) Then
                Range("A" & 27 + x) = UserForm1.ListBox1.List(i)
                Range("A" & 113 + x) = UserForm1.ListBox1.List(i)
                x = x + 1
            End If
        Next     
    End Sub
    Bonne journée

Discussions similaires

  1. [TP] Conversion de données .dat vers Access
    Par noratec dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 04/05/2007, 16h28
  2. [SGBD] Traitement Données Formulaire Vers BDD Mysql
    Par Thierry8 dans le forum SQL Procédural
    Réponses: 10
    Dernier message: 29/03/2006, 23h22
  3. [SGBD] transfert d'une base de données excel vers mysql
    Par Groshaeny Roger dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 28/03/2006, 23h29
  4. Réponses: 16
    Dernier message: 20/03/2006, 23h21
  5. Réponses: 4
    Dernier message: 08/03/2006, 20h45

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