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 :

Récupérer la cellule active d'une selection ComboBox [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Février 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable marketing opérationnel

    Informations forums :
    Inscription : Février 2019
    Messages : 9
    Points : 39
    Points
    39
    Par défaut Récupérer la cellule active d'une selection ComboBox
    Bonjour,

    J'ai créé un ComboBox "famille", je le remplit à l'aide de cette ligne de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    famille.RowSource = "i4:i37"
    Lorsque je selectionnes quelquechose dans cette combox, je voudrais
    pouvoir savoir à quelle cellule correspond cette sélection

    Quelle est la solution ?

    Merci par avance.
      2  0

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    Quelle est la solution ?
    1)
    est l'index N de l'article sélectionné
    2) le premier article de ta combobox est d'index 0
    3) le premier article de ta listbox correspond à la cellule I4
    Question : à quelle cellule correspond donc l'index N ?
    Je préfère te laisser faire ce petit calcul arithmétique
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
      3  3

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Février 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable marketing opérationnel

    Informations forums :
    Inscription : Février 2019
    Messages : 9
    Points : 39
    Points
    39
    Par défaut
    Merci pour votre réponse. Mais ce n'est pas l'index de liste box que je cherche cela est facile ce que je veux récupérer c'est la référence de la cellule dont j'ai sélectionné l'intitulé dans la list box. Donc je sélectionne une donné dans la liste et la réponse est par exemple cellule A5
      2  0

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Mais ce n'est pas l'index de liste bix que je cherche cela est facile ce que je veux récupérer c'est la référence de la cellule dont j'ai sélectionné l'intitulé dans la list box.
    ah !
    Veux-tu bien, s'il te plait relire calmement mon message précédent ?
    Il te la donne, cette solution, qui passe nécessairement par l'index N sélectionné et un tout petit (vraiment petit) calcul arithmétique.
    Je vais te laisser là.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
      3  3

  5. #5
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Citation Envoyé par tituxxx Voir le message
    ...J'ai créé un ComboBox "famille", je le remplit à l'aide de cette ligne de
    code :
    famille.RowSource = "i4:i37"
    T'es sur de toi ? ne serait-ce pas plutôt :
    famille.ListFillRange = "i4:i37"
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur
      1  0

  6. #6
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour Patrice740

    Sa combo est apparemment sur un userform, d'où la propriété RowSource !

    EDIT :
    Allez. On va lui décomposer la chose, y compris sans calcul arithmétique (en utilisant Offset).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Set Source = Range(famille.RowSource)
      MsgBox "voilà la plage à laquelle esty liée ma combobox ==>> " & Source.Address
      MsgBox "sa première cellule est " & Source(1).Address
      MsgBox "j'ai sélectionné l'index " & famille.ListIndex & " de ma combobox"
      MsgBox "il correspond donc à la cellule " & Source(1).Offset(famille.ListIndex).Address
    Il s'agit là d'une décomposition très volontaire (pour qu'il comprenne) . Il est évident que l'on aurait le même résultat avec une seule ligne de code et un petit calcul de différence
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
      3  3

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Points : 350
    Points
    350
    Par défaut
    Bonsoir

    Sans inforations supplémentaires, sans passer par le .ListIndex, il suffit de trouver l'adresse de l'item dans la plage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub famille_Click()
      MsgBox [I4:I37].Find(famille).Address
    End Sub
      1  1

  8. #8
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Salut Ordonc
    Non. Et pour deux raisons : l'une éthique et l'autre de risque à ne jamais courir.

    EDIT : et si anasecu (que je salue au passage) passe par là, il t'en donnera une troisième.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
      1  1

  9. #9
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 753
    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 : 12 753
    Points : 28 603
    Points
    28 603
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Comme clairement expliqué par Unparia
    Lorsque l'on utilise la propriété RowSource pour alimenter un contrôle ComboBox ou ListBox, la propriété ListIndex de ceux-ci indique clairement le numéro de ligne de la plage référencée et ensuite un simple calcul arithmétique suffit pour se positionner sur une des cellules de cette ligne.
    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
      1  1

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Points : 350
    Points
    350
    Par défaut
    Re

    Hé les copains, il va falloir m’expliquer, m’éduquer !

    Unparia : je ne comprends pas ton observation (éthique, risque).
    Citation Envoyé par Philippe Tulliez Voir le message
    Lorsque l'on utilise la propriété RowSource pour alimenter un contrôle ComboBox ou ListBox, la propriété ListIndex de ceux-ci indique clairement le numéro de ligne de la plage référencée et ensuite un simple calcul arithmétique suffit pour se positionner sur une des cellules de cette ligne.
    Philippe,
    - chez moi, elle indique l’index de l’item dans la liste de ceux-ci.
    D’ailleurs l’indexation commence toujours par 0 !
    D’où le petit calcul dont tu parles. Ici, ce serait Cells(famille.ListIndex + 4, 9).Address

    -Qu’en est-il quand on passe par .List, .Additem ? Chez moi, c’est la même chose.

    Risque encouru : avec .List, on aura des problèmes en n'ayant qu’un seul item.
    Avantage : avec un contrôle ListBox, .RowSouce permet d’afficher la ligne des titres.

    Donc, je ne vois pas où est le problème, d’autant plus que j’ai précisé « sans information supplémentaires ». Eclairez moi s'il vous plait .
      1  1

  11. #11
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    -Qu’en est-il quand on passe par .List, .Additem ?
    Ce n'est la même chose QUE si les cellules ajoutées sont dans une plage sans solution de continuité ...
    Dans le cas contraire, impossible alors de s'en sortir sans ajout d'une colonne comportant le N° de ligne (on s'en sert ensuite)

    EDIT à ta rubrique "avantages" : tu as oublié l'essentiel, à savoir que toute modification des cellules du rowsource est immédiatement et automatiquement faite dans la combobox

    Quant aux risques qui résultaient de ta proposition, ils ne sont pas ceux que tu relèves là. Le plus gros d'entre eux est que ton Find te retournera la première occurrence trouvée (et elle n'est pas forcément la bonne, hein ..) . Imagine donc une plage de deux colonnes, la première avec des prénoms et la seconde avec l'âge correspondant. Tu risques assez d'avoir plusieurs "Jean" ( par exemple) et ton Find te retournera lequel ?
    Entre autres.
    Amitiés
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
      1  1

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Points : 350
    Points
    350
    Par défaut
    Bonjour

    Maintenant que titusxxx semble avoir trouvé une réponse …

    Salut unparia et merci pour tes explications.

    Bien que j’aie une imagination débordante, je ne l’ai pas fait apparaître ici et pour cause.
    Je vais me répéter pour la xième fois : « je code en fonction du contexte, du contexte et surtout du contexte !».
    Un outil utilisé dans un cas peut être le plus adapté qu’un autre mais pour les comparer* il est nécessaire de les connaître, non ?

    Merci encore et bonne journée à toi et aux autres bien sûr.

    *Je remarque qu’il y a de plus en plus de personnes qui comparent des choses qui ne sont pas comparables. Il faut faire avec !
      1  0

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Février 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable marketing opérationnel

    Informations forums :
    Inscription : Février 2019
    Messages : 9
    Points : 39
    Points
    39
    Par défaut
    bonjour

    Je vous remercie pour l'intérêt que vous avez porté à mon poste ; je vous informe que je suis un novice dans la programmation et j'apprends tous les jours

    Unparia merci d’être moins condescendant dans vos réponse car si j'ai demandé de l'aide c'est par ce que je n'ai pas autant de connaissance que vous mais ce n’est pas la peine de me parler comme un gosse. Je suis novice et non débile et même si l'opération arithmétique est une chose simple pour vous dans ce cas peut être je ne voyais pas la chose de la même manière une explication simple et détaillé aurait suffit sans commentaire supplémentaire
      5  0

  14. #14
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Désolé, titu, mais je ne suis pas là pour faire de la pédagogie.
    Je suis ici en tant que développeur s'adressant à un développeur, sur ce forum/club de développeurs. Et je le fais en utilisant le langage d'un développeur
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
      1  3

  15. #15
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 426
    Points : 43 044
    Points
    43 044
    Par défaut
    Désolé, titu, mais je ne suis pas là pour faire de la pédagogie.
    Ben un minimum quand-même.

    Je suis ici en tant que développeur s'adressant à un développeur,
    Ben non tu t'adresses d'après le profil à un "Responsable marketing opérationnel"

    Si tu ne souhaites pas répondre à un novice, et en conséquence consacrer un minimum de temps pour expliquer, dans ce cas ne répond pas, tout le monde gagnera du temps, y compris toi.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation
      3  0

  16. #16
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour chrtophe
    Il me semble que j'ai fait plus que "expliquer".
    Mon message N° 6 va même bien au delà de la seule explication (qui, elle, avait été donnée dès mon premier message).
    Si, maintenant "expliquer" se traduit par donner un code à copier/coller, je me demande bien quelle pourrait être cette forme de pédagogie.
    Mais je veux bien apprendre --->> montre-moi ce que toi, tu aurais répondu pour aider le demandeur à comprendre. Cela m'intéresse.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
      1  1

  17. #17
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Citation Envoyé par unparia Voir le message
    Bonjour chrtophe
    Il me semble que j'ai fait plus que "expliquer".
    Mon message N° 6 va même bien au delà de la seule explication (qui, elle, avait été donnée dès mon premier message).
    Si, maintenant "expliquer" se traduit par donner un code à copier/coller, je me demande bien quelle pourrait être cette forme de pédagogie.
    Mais je veux bien apprendre --->> montre-moi ce que toi, tu aurais répondu pour aider le demandeur à comprendre. Cela m'intéresse.
    La question n'est pas là.
    Si tu souhaites aider, tu dois te mettres au niveau de celui que tu aides et tu dois fais preuve de politesse (le post 6 que tu mets en avant n'est pas poli).
    Si ça ne te convient pas alors tu passes à une autre discussion.
    Merci.
      3  0

  18. #18
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour Arkham
    le post 6 que tu mets en avant n'est pas poli
    Je n'y vois aucune impolitesse et vais donc te prier de m'indiquer où elle se trouve exactement.
    D'autant que je répondais à Patrice au sujet d'une propriété différente selon que la combobox se trouvait sur une feuille de calcul ou sur un userform.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
      1  1

  19. #19
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Citation Envoyé par unparia Voir le message
    Je n'y vois aucune impolitesse
    C'est bien là le probleme, tu ne te rends pas compte.
    Tu parles de l'auteur de la discussion à la troisième personne avec quelqu'un d'autre alors que tu es sur sa discussion.
    Et tu sembles plus ouverts avec certaines personnes qui sont de passage sur la discussion.
    Je ne m'étonne pas que cela puisse être mal interprété et que tituxxx voit un ton condescendant dans tes messages.
      3  0

  20. #20
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 951
    Points
    55 951
    Billets dans le blog
    131
    Par défaut
    Salut.

    La question initiale étant de trouver la cellule correspondant à la sélection, il serait utile de renvoyer une cellule... Ca permettrait par exemple de partir vers la droite avec un offset pour trouver rapidement les données liées à la ligne du combobox (par exemple pour remplir le userform avec ces données).

    Dans l'exemple suivant* où le rowsource du combo est =feuil1!c13:c18, l'objet c pointe vers cette cellule choisie. Le +1 correspond au fait que la première ligne d'un combobox possède l'indice 0.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub ComboBox1_Change()
      Dim c As Range
     
      Set c = Range(ComboBox1.RowSource)(ComboBox1.ListIndex + 1)
      MsgBox "la cellule choisie est la cellule " & c.Parent.Name & "!" & c.Address
    End Sub

    Nom : 2019-02-21_211115.png
Affichages : 2275
Taille : 18,3 Ko

    * L'événement Change n'est utilisé ici que pour illustrer la méthode permettant de retrouver l'objet cellule correspondant à la sélection
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------
      2  0

Discussion fermée
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Récupérer la valeur active d'une cellule d'une autre feuille
    Par misterjuicelink dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/10/2018, 14h51
  2. [XL-2007] Récupérer la valeur de la dernière cellule active d'une colonne
    Par Coucou17 dans le forum Excel
    Réponses: 4
    Dernier message: 11/12/2016, 21h33
  3. définir la cellule active d'une feuille inactive
    Par Fanfan2A dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 24/11/2009, 15h56
  4. [HTML]comment fixer la taille d'une select (combobox) ?
    Par VerrNum dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 07/07/2008, 11h42
  5. Test de cellule activée dans une colonne permanent
    Par pisistrate dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/08/2007, 13h47

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