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

VBA Word Discussion :

RowSource de listbox avec contenu de tableau Excel [WD-2003]


Sujet :

VBA Word

  1. #1
    Membre du Club
    Homme Profil pro
    Dessinateur Projeteur
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Dessinateur Projeteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 46
    Points
    46
    Par défaut RowSource de listbox avec contenu de tableau Excel
    Bonjour à tous,

    J'essaie actuellement de créer sous Word avec formulaire VBA un module d'édition de bordereau.
    Par le biais de ce formulaire, je voudrais selectionné le destinataire du bordereau.

    Une fois les données rapatriées dans la listbox, je pense être en mesure de pouvoir les attribuer au signet du fichier Word.

    Or, je bloque sur la façon de sélectionner les données du fichier Excel pour remplir la listbox.

    Mon tableau est dimensionné sur 6 colonnes avec un nombre d'enregistrements évolutifs.

    J'ai trouvé quelque codes, mais pas reussi pour le moment à les adapter à mon cas.

    Merci d'avance à ceux qui contriburons

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Jette un oeil à ce tuto : http://heureuxoli.developpez.com/off...cument-tiroir/

    Il devrait t'aider un peu.

  3. #3
    Membre du Club
    Homme Profil pro
    Dessinateur Projeteur
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Dessinateur Projeteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 46
    Points
    46
    Par défaut
    Merci bien !

    J'ai réussi à l'adapter sur plusieurs colonnes après une petit réflexion et je pense que la boucle sur les colonnes pour injecter les données dans le tableau est faisable ! (Histoire de faire une économie de ligne ).

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    Private Sub UserForm_Initialize()
     
        'Déclaration des variables
     
    Dim xlApp As Excel.Application  'Application Excel pour ouvrir un fichier XLS
    Dim xlWb As Excel.Workbook      'Classeur Excel
    Dim xlWs As Excel.Worksheet     'Feuille du classeur
    Dim intL As Integer             'Récupération de l'index de la ligne
    Dim tblListe() As String        'tableau pour le remplissage de la liste.
     
     
     
        'Affectation des données aux objets
     
        'Affectation de Excel en créant un nouvelle instance
     
    Set xlApp = New Excel.Application
     
     
        'Ouverture du fichier
     
    Set xlWb = xlApp.Workbooks.Open("D:\Documentation\Admnistratif\Bordereau\bordereau_adresse.xls")
     
     
        'Utilisation de la première feuille
     
    Set xlWs = xlWb.Worksheets(1)
     
     
     
        'Boucle pour déterminer le nombre de lignes contenant des données dans le fichier Excel
     
    intL = 1
            Do Until Len(xlWs.Range(Cells(intL, 1), Cells(intL, 1))) = 0
            intL = intL + 1
            Loop
     
        'Redimensionnement du tableau en fonction du nombre de lignes remplies dans le feuille de données
     
        ReDim tblListe(intL, 6)
     
        'tblListe(0, 0) = "Nom"
        'tblListe(0, 1) = "Adresse1"
        'tblListe(0, 2) = "Adresse2"
        'tblListe(0, 3) = "Adresse3"
        'tblListe(0, 4) = "CP"
        'tblListe(0, 4) = "Ville"
     
        'Boucle sur les cellules de la feuille Excel
        intL = 1
            Do Until Len(xlWs.Range(Cells(intL, 1), Cells(intL, 1))) = 0
            'Index de la ligne
            tblListe(intL, 0) = intL
     
                    'Contenu de la première colonne de la feuille de données
            tblListe(intL, 1) = xlWs.Range(Cells(intL, 1), Cells(intL, 1))
     
                    'Contenu de la colonne 2 de la feuille de données
            tblListe(intL, 2) = xlWs.Range(Cells(intL, 2), Cells(intL, 2))
     
                    'Contenu de la colonne 2 de la feuille de données
            tblListe(intL, 3) = xlWs.Range(Cells(intL, 3), Cells(intL, 3))
     
                    'Contenu de la colonne 4 de la feuille de données
            tblListe(intL, 4) = xlWs.Range(Cells(intL, 4), Cells(intL, 4))
     
                    'Contenu de la colonne 4 de la feuille de données
            tblListe(intL, 5) = xlWs.Range(Cells(intL, 5), Cells(intL, 5))
     
                    'Contenu de la colonne 2 de la feuille de données
            tblListe(intL, 6) = xlWs.Range(Cells(intL, 6), Cells(intL, 6))
     
            'Debug.Print intL & " --- " &  & " --- " &
     
            intL = intL + 1
            Loop
     
        'transfert des données vers la liste du UserForm
        Me.lstChoix.List = tblListe
     
        'Fermeture et libération des objets
     
    'Fermeture du classeur
        xlWb.Close
     
    'Libération de l'objet
        Set xlWb = Nothing
     
    'Fermeture d'Excel
        xlApp.Quit
     
    'Liberation
        Set xlApp = Nothing
     
    End Sub

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Il doit même être possible de faire encore plus court en utilisant une zone XL pour la mettre dans le tableau, mais je ne suis pas très familier avec XL.

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

Discussions similaires

  1. [XL-2010]Remplir listbox avec contenu oulook
    Par mayekeul dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 06/12/2010, 11h25
  2. [XL-2007] ListBox.list et nommage tableau Excel 2007
    Par ESVBA dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 14/08/2010, 13h18
  3. Listbox avec contenu variable
    Par mfmf99 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/11/2008, 15h02
  4. [VBA-E] eviter blanc remplissage listbox avec tableau
    Par chmod777 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/04/2006, 12h16
  5. [VBA-E]Remplir combobox avec contenu d'une feuille Excel
    Par Deejoh dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/03/2006, 16h16

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