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 :

Problème avec le RowSource d'une ListBox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 40
    Par défaut Problème avec le RowSource d'une ListBox
    Bonjour ou plutôt bonne nuit
    J'ai petit problème :
    Je ne sais pas vraiment comment expliquer, le code en dira plus.
    Le voici
    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
    Private Sub UserForm_Initialize()
    'provisoire
    'ThisWorkbook.Worksheets("Traitement").Activate
    'Fin provisoire
     
    'Ma ListBox s'appelle lstTraitement
    lstTraitement.ColumnCount = 4
    lstTraitement.ColumnHeads = True
    lstTraitement.ColumnWidths = "260;50;50;50"
     
    Dim rgTrt As Range
    Dim rgTmp As Range
    Dim a%
     
    'Petit bordel par rapport aux Heads
    Set rgTmp = ThisWorkbook.Worksheets("Traitement").Range("A1").CurrentRegion
    a = rgTmp.Rows.Count - 1
    Set rgTrt = rgTmp.Offset(RowOffset:=1).Resize(RowSize:=a)
     
    lstTraitement.RowSource = rgTrt.Address
    End Sub
    Avec ce code, lorsque je lance mon formulaire, tout se passe comme prévu si la feuille traitement est activée. Dans les autres cas, la ListBox m'affiche le contenu d'autres feuilles (activées à ce moment là)...
    (D'où le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.Worksheets("Traitement").Activate
    pour résoudre provisoirement ce problème).
    J'aimerais savoir comment faire pour définir le RowSource d'une ListBox sans forcément activer la feuille
    Ca me chagrine cette histoire
    Merci

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Par défaut
    Bonjour,

    Tu peux affecter une plage nommée a ta listbox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim rgTrt As Range
    Dim rgTmp As Range
    Dim a%
     
    Set rgTmp = ThisWorkbook.Worksheets("Feuil1").Range("A1").CurrentRegion
    a = rgTmp.Rows.Count - 1
    Set rgTrt = rgTmp.Offset(RowOffset:=1).Resize(RowSize:=a)
     
    ThisWorkbook.Names.Add "NomPlage", rgTrt
    ListBox1.RowSource = "NomPlage"
    Cordialement,

    Tirex28/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 40
    Par défaut
    Merci beaucoup
    En cherchant un peu je me suis aperçu que UnRange.Address valait toujours "$A$1:$B$10" (c'est un exemple) quelque soit le Range
    Alors j'ai essayé ça qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lstTraitement.RowSource = "Traitement!" & rgTrt.Address
    Mais je préfère nommer ma plage, c'est plus clair.

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

Discussions similaires

  1. problème avec un textBox et une listBox
    Par THIB46 dans le forum VC++ .NET
    Réponses: 6
    Dernier message: 20/05/2015, 11h26
  2. [XL-2010] Appel de procédure avec arguments pour RowSource d'une ListBox
    Par RicardoBxl dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 16/01/2011, 22h06
  3. Apelle d une fonction js avec la valeur d'une listbox
    Par echecetmat dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/02/2005, 16h53
  4. Problèmes avec un TWebBrowser dans une DLL
    Par bellamyjc dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/01/2005, 22h35
  5. Problème avec un LIKE dans une procédure stockée
    Par Oluha dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/12/2004, 14h38

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