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 :

[e-07]initialisation USF avec 3 listbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut [e-07]initialisation USF avec 3 listbox
    Bonjour ou re, à tou(te)s,

    Je pense que j'ai déjà eu ce problème mais l'alsheimer me gagne et je ne retrouve plus.
    dans le code d'une USF, je provoque à l'initialisation 3 rowsources pour 3 listbox or dès ma deuxième listbox, les items ne sont plus les bons, si j'enlève le remplissage d'une listbox, il n'y a plus de problème, je ne sais plus pourquoi, voici le code :
    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
    Private Sub UserForm_Initialize()
    Application.ScreenUpdating = False
    With Sheets("banque")
    .Visible = True 'jai essayé avec .activate, meme résultat
    .Select
    lg = .Range("a" & Rows.Count).End(xlUp).Row
    boxbanque.RowSource = "a2:a" & lg
    .Visible = False
    End With
    With Sheets("ayants droit")
    .Visible = True 'jai essayé avec .activate, meme résultat
    .Select
    lg = .Range("a" & Rows.Count).End(xlUp).Row
    boxconcerne.RowSource = "f5:f" & lg
    .Visible = False
    End With
    With Sheets("compta")
    .Visible = True 'jai essayé avec .activate, meme résultat
    .Select
    lg = .Range("a" & Rows.Count).End(xlUp).Row
    boxconcerne.RowSource = "a2:a" & lg
    .Visible = False
    End With
    Sheets("ESSAI CHEQUE").Activate
    Application.ScreenUpdating = True
    End Sub
    Merci d'avance de vos conseils avisés et bonne journée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    essaye en ajoutant
    après chaque définition du RowSource

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    Et en mettant..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    boxbanque.RowSource = "banque!a2:a" & lg
    boxconcerne.RowSource = "ayants droit!f5:f" & lg
    A+

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour ucfoutu, Leforestier,

    j'ai suivi vos conseils, de plus je me suis aperçu d'une erreur que j'ai corrigée (évident) mais le code bloque toujours sur une propriété rowsource, toujours la meme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    With Sheets("ayants droit")
    .Visible = True
    .Select
    lg = .Range("f" & Rows.Count).End(xlUp).Row
    DoEvents
    boxconcerne.RowSource = "ayants droit!f5:f" & lg
    .Visible = False
    End With
    erreur d'execution 380, valeur de propriété non valide, il doit y avoir, bien sur, une erreur dans ce bout de code mais laquelle ?
    En attendant je vous remercient encore de vos conseils qui me font avancer

    a +
    Dominique
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    J'ai resoulagé mon code mais vba n'aime pas le bout de code séparé par les tirets que j'ai insérés

    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
    Private Sub UserForm_Initialize()
    Application.ScreenUpdating = False
    DoEvents
    lg = Sheets("banque").Range("a" & Rows.Count).End(xlUp).Row
    boxbanque.RowSource = "banque!a2:a" & lg
    '------------------------------------------------------------------
    'là, erreur 380
    DoEvents
    lg = Sheets("ayants droit").Range("f" & Rows.Count).End(xlUp).Row
    boxconcerne.RowSource = "ayants droit!f5:f" & lg
    '------------------------------------------------------------------
    DoEvents
    lg = Sheets("compta").Range("a" & Rows.Count).End(xlUp).Row
    boxactivite.RowSource = "compta!a2:a" & lg
    Sheets("ESSAI CHEQUE").Activate
    Application.ScreenUpdating = True
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    voir avec !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lg = Range("F65536").End(xlUp).Row
    lg = combien de lignes ?
    Et DoEvents n'est pas nécessaire.

  7. #7
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Je te remercie de ta réponse, Leforestier que j'ai testé tout de suite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    lg = Sheets("ayants droit").Range("F65536").End(xlUp).Row
    boxconcerne.RowSource = "ayants droit!f5:f" & lg
    Maintenant, le code me retourne une erreur 9, l'indice n'appartient pas à la sélection, j'ai du mal à comprendre

    Merci de ta sollicitude
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  8. #8
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Enfin grace à vous, j'ai compris car entre temps je faisais d'autres erreurs en changeant le nom de la feuille ("ayants droit") en ayants_droit car je cherchais de mon coté mais voilà des oublis dans le code

    Merci encore à vous deux
    suis-je bête
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  9. #9
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Quand même, je tiens à ajouter qu'apparemment, dans ce cas, les noms de feuilles avec espaces ne sont pas supportés
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With Sheets("ayants_droit")
    .Activate
    lg = .Range("F65536").End(xlUp).Row
    boxconcerne.RowSource = "ayants_droit!f5:f" & lg
    End With
    ça passe


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With Sheets("ayants droit")
    .Activate
    lg = .Range("F65536").End(xlUp).Row
    boxconcerne.RowSource = "ayants droit!f5:f" & lg
    End With
    ça ne passe pas

    encore merci
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

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

Discussions similaires

  1. Sélection d'une feuille excel avec une listbox
    Par felibelle dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/07/2022, 17h27
  2. [XL-2007] USF avec Listbox paramétrées
    Par jipeh dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 23/07/2013, 13h20
  3. Réponses: 7
    Dernier message: 29/01/2009, 12h32
  4. [VB.NET] Probleme avec controle Listbox ??
    Par Aspic dans le forum VB.NET
    Réponses: 4
    Dernier message: 10/11/2005, 13h30
  5. initialisation Directinput avec delphi
    Par Madmaxx dans le forum DirectX
    Réponses: 1
    Dernier message: 21/02/2003, 17h37

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