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 :

Probleme de remplissage combobox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 141
    Billets dans le blog
    1
    Par défaut Probleme de remplissage combobox
    Bonjour à tous,

    J'ai un petit souci avec une combobox, car la propiété Rowsource n'est pas fixe dans mon fichier.
    Je suis obligé de chercher le début des valeurs voulu, mettre la valeur dans une donnée variable que je nomme LigneDébut puis je cherche la fin des valeurs voulu que je mets dans LigneFin.
    Mon souci est que je n'arrive pas à entrer ces valeurs dans la valeur RowSource de ma combobox.

    Voici ce que j'ai comme exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub Recherche
    'Je cherche la valeur voulu de début
    LigneDébut = ActiveCell.Row
    'Je cherche la valeur de fin voulu
    LigneFin = ActiveCell.Row
     
    'Puis je voudrais entrer dans la propiété RowSource ces 2 données 
    'mais je n'y arrive pas
     
    PK.RowSource="$B$" & LigneDébut ":$B$" & LigneFin
    End Sub
    Mais il me met un message d'erreur et je ne comprends pas pourquoi.

    Quelqu'un pourrait i m'aider?
    Merci

  2. #2
    Membre expérimenté
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Par défaut
    Une idée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Recherche()
     
    Dim Tableau
    Dim Lignes As String
    Dim l1 as long, l2 as long
     
    Lignes = InputBox("Saisissez les lignes séparées par un ; ", "Choix des lignes")
    Tableau = Split(Lignes, ";")
    l1 = Val(Tableau(0))
    l2 = Val(Tableau(1))
    PK.RowSource="$B$" & l1 ":$B$" & l2
     
    End Sub

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 141
    Billets dans le blog
    1
    Par défaut
    Merci mais cela ne me convient pas,
    je vous explique un peu mieux...
    J'ai un tableau d'une centaine de colonne accompagné de quelques milliers de ligne.
    2 de ces colonnes sont nommés Route et Km.
    Dans mon Userform j'ai 2 combobox, l'une pour le choix de la Route et l'autre pour le choix du Km.
    Dans la seconde je voudrais qu'en fonction de la Route sélectionné par l'utilisateur s'affiche automatiquement que les Km correspondant à cette route.
    Donc après avoir sélectionner la route correspondante dans la 1ère combobox, il faut que dans la 2ème combobox ne s'affiche que les Km correspondant au choix de la route à l'aide de la propriété RowSource. (je cache toutes les autres lignes de routes et je reste avec uniquement les lignes affichés de la route sélectionné par l'utilisateur).

    J'espère avoir été plus clair cette fois

  4. #4
    Membre expérimenté
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Par défaut
    Tu as donc une colonne route et une colone kilomètre.
    Il faut donc que quand tu selectionnes une route (qui est forcement dans la colone route?), la combobox2 affiche les kilomètres (qui figurent sur la même ligne que la route, dans la colonne Km?)

    Imaginons Km en Colonne B et Route en A
    Si c'est ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    sub recherche()
    Dim Route as Range,Trouve as Range
     
    Set Route=range("A2","A" & Range("A65536").end(xlup).row)
    Set Trouve=Route.Find(Combobox1.Value, LookIn:=xlValues, SearchOrder:=xlByColumns)
    If Not Trouve is Nothing
    Combobox2.Value= Cells(Trouve.Row,2).value
    else
    MsgBox ("Cette route ne figure pas dans la base de données)
    End if
    End Sub
    Edit:Si tu place ça dans l'evenement combobox1 change de ton userform ça devrait le faire

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 141
    Billets dans le blog
    1
    Par défaut
    OK merci cela marche à merveille

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

Discussions similaires

  1. probleme remplissage combobox en fonctionvaleur d'une 2eme colonne
    Par mendigot dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/03/2014, 14h29
  2. Probleme Remplissage ComboBOX avec DATE du mois suivant
    Par RootsInternationnal dans le forum C#
    Réponses: 9
    Dernier message: 16/07/2009, 09h18
  3. Probleme de remplissage d'un combobox excel 2007
    Par da991319 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/02/2008, 00h42
  4. [MFC] probleme remplissage comboBox avec ADOLib
    Par moulefrite dans le forum MFC
    Réponses: 3
    Dernier message: 05/04/2006, 15h08
  5. Réponses: 7
    Dernier message: 17/01/2004, 18h13

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