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 :

Largeur de colonne dans listbox variable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de Nicolas JACQUIN
    Homme Profil pro
    .
    Inscrit en
    Avril 2014
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : .
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2014
    Messages : 556
    Par défaut Largeur de colonne dans listbox variable
    Bonjour les amis

    J'ai un petit souci d'adaptation dans un listbox,
    je rentre des données dans ma feuille, sur une ligne il peut y avoir de 4 à 20 cellule occupé (ceci est aléatoire)
    j'ai réussi à remplir la listbox en fonction du nombre de ligne et colonne occupé mais n'arrive pas à trouver l'astuce pour adapter la largeur de colonne (.ColumnWidths)
    en fonction de la largeur de mais écriture de feuille.
    Car si je laisse tel quel, la largeur par défault (je ne sais pas si on peut la modifier sinon je m'en serai contenté) correspond pour certaine colonne mais coupe d'autres.
    J'espère être clair dans ma demande, en vous remerciant.

    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 UserForm_Initialize()
     
    Dim Ws As Worksheet
    Dim L As Long
    Dim C As Integer
     
    Set Ws = Worksheets("FFF-45-FFF")
    L = Ws.Cells.SpecialCells(xlCellTypeLastCell).Row
    C = Ws.Cells.SpecialCells(xlCellTypeLastCell).Column
     
    With ListBox1
        .ColumnCount = C
        .List() = Ws.Range(Ws.Cells(10, 1), Ws.Cells(L, C)).Value
        '.ColumnWidths = "50"  'mon problème est là
    End With
     
    Set Ws = Nothing
    End Sub

  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 175
    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 175
    Billets dans le blog
    53
    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 émérite Avatar de Nicolas JACQUIN
    Homme Profil pro
    .
    Inscrit en
    Avril 2014
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : .
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2014
    Messages : 556
    Par défaut
    Bonjour et merci pour la réponse,
    j'essai d'adapter mais c'est dur, je continue

    Comment faire appel à la fonction proposé dans votre lien ?
    ou comment adapter, j'arrive pas à comprendre
    en vous remerciant

  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 175
    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 175
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Non seulement il y a un fichier téléchargeable avec un exemple mais de plus la procédure est commentée et notamment pour ses arguments
    Private Function AutoColumnWidth(ctrlList As MSForms.Control, oRng As Range) As Boolean
    ' Arguments
    ' ctrlList (obj Ctrl) ' Nom du contrôl ListBox ou ComboBox
    ' oRng (obj Range)' Plage utilisée pour la liste
    et l'exemple d'appel
    Procédure d’appel de cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AutoColumnWidth Me.cboBox, rngData
    Dans cette ligne de code, cboBox est le nom du contrôle (ici un contrôle ComboBox) et rngData est la variable objet représentant la liste des données.
    Ce n'est pas assez clair ?

    rngData par exemple ThisWorkbook.Worksheets("Feuil1").Range ("A1:H100")
    soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rngData = ThisWorkbook.Worksheets("Feuil1").Range ("A1:H100")
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rngData = shtTest.Range("A1").CurrentRegion
    shtTest est le CodeName de la feuille
    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 émérite Avatar de Nicolas JACQUIN
    Homme Profil pro
    .
    Inscrit en
    Avril 2014
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : .
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2014
    Messages : 556
    Par défaut
    oui c'est clair et c'est bien votre classeur essai, mais c'est de ma faute je n'étais pas assez clair au départ, vu que je testais mon projet,
    ce qu'il en ai c'est que mon choix de feuille (il y en a plusieurs) se fera à partir d'un combobox, vu que j'en suis à l'essai j'ai nommé la feuille mais elle sera nommé x au final.
    Désolé, mais je ne veux pas aller sur cette feuille pour cliquer dessus et avoir le résultat.

  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 175
    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 175
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Désolé, mais je ne veux pas aller sur cette feuille pour cliquer dessus et avoir le résultat.
    Ce n'est pas parce-que dans mon classeur exemple le UserForm s'enclenche au double clic dans la liste de la feuille que pour autant la procédure que je propose est liée à cette action.
    Elle est totalement indépendante
    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

  7. #7
    Membre émérite Avatar de Nicolas JACQUIN
    Homme Profil pro
    .
    Inscrit en
    Avril 2014
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : .
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2014
    Messages : 556
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    Non seulement il y a un fichier téléchargeable avec un exemple mais de plus la procédure est commentée et notamment pour ses arguments

    et l'exemple d'appel

    Ce n'est pas assez clair ?

    rngData par exemple ThisWorkbook.Worksheets("Feuil1").Range ("A1:H100")
    soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rngData = ThisWorkbook.Worksheets("Feuil1").Range ("A1:H100")
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rngData = shtTest.Range("A1").CurrentRegion
    shtTest est le CodeName de la feuille
    Bonjour Philippe,
    J'ai quand même réussi à adapter, en m'acharnant un peu
    Merci.

  8. #8
    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 175
    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 175
    Billets dans le blog
    53
    Par défaut
    Bonjour Nicolas,
    J'ai quand même réussi à adapter, en m'acharnant un peu
    Parfait
    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

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

Discussions similaires

  1. [XL-2013] Largeur des colonnes dans une ListBox
    Par RastaBomboclat dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/08/2016, 15h19
  2. Largeur de colonne dans une Listbox
    Par fmris dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/02/2009, 11h29
  3. [VBA-E]2 colonnes dans listbox
    Par Kaiba dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/02/2007, 17h47
  4. nom de colonne dans une variable
    Par cyclone_yas dans le forum SQL
    Réponses: 12
    Dernier message: 27/12/2006, 10h41
  5. largeur de colonne dans une zone de liste
    Par fsautejeau dans le forum Access
    Réponses: 2
    Dernier message: 25/08/2006, 13h29

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