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écuperation valeur zone de liste dans la cellule active [XL-365]


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
    Technicien maintenance
    Inscrit en
    Mars 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 67
    Par défaut Récuperation valeur zone de liste dans la cellule active
    Bonjour,

    J' ai mis un contrôle de formulaire zone de liste directement sur ma feuille de calcul afin de renseigner des cellules d' un tableau.

    je voudrais que la valeur cliquée de la zone de liste renvoie sa valeur vers une cellule active quelconque.

    A première vue, les paramètres au niveau des propriétés d'une zone de liste ne peuvent renvoyer que dans vers une cellule liée fixe.je me trompe?

    Sinon quel serait le code VBA pour cela?

    J ai essayé avec cela mais çà ne fonctionne pas bien ... pas bien du tout même! j' ai des msg d' erreur à chaque essai de modif du code, le dernier en date est : l' élément portant ce nom n' existe pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    MsgBox ActiveCell.Address
     
     
    With Worksheets("EVALUATIONDESRISQUESTF")
     
    	.Cells(ActiveCell.Address).Value = .Shapes("Zonedeliste2").OLEFormat.Object.Value
     
    End With
     
    End Sub
    Merci d' avance

  2. #2
    Membre averti
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2019
    Messages : 12
    Par défaut
    tu peux test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    L = ActiveCell.Row
    C = ActiveCell.Column
    Cells(L, C) = Zonedeliste2.Value
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Cells(ActiveCell.Row, ActiveCell.Column) = "ta valeur"

  3. #3
    Membre confirmé
    Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 67
    Par défaut cela ne fonctionne pas
    j'ai un message d'erreur "Objet requis"

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Voici une Sub() que tu vas lier à ta liste issue des outils "Formulaire" (clic droit --> Affecter une macro...), elle inscrira automatiquement la valeur cliqué dans la cellule active :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub InscrireValeur()
     
        Dim S As Shape
     
        Set S = Worksheets("EVALUATIONDESRISQUESTF").Shapes(Application.Caller)
        ActiveCell.Value = S.ControlFormat.List(S.ControlFormat.ListIndex)
     
    End Sub
    Maintenant, par rapport à ton 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
     
    Sub Test()
     
     Dim S As Shape
     
        With Worksheets("EVALUATIONDESRISQUESTF")
     
            Set S = .Shapes("Zonedeliste2")
     
            'dans la cellule active inscrit l'index...
            ActiveCell.Value = S.OLEFormat.Object.Value
     
            'de la même manière que :
            'S.ControlFormat.ListIndex
     
            'sous la cellule active, inscrit la valeur choisie
            ActiveCell.Offset(1).Value = S.ControlFormat.List(S.ControlFormat.ListIndex)
     
        End With
     
    End Sub

  5. #5
    Membre confirmé
    Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 67
    Par défaut MERCI
    J ai utilisé cela sur le code de ma zone de liste çà fonctionne impéc !
    Dire que je cherche depuis très tôt ce matin .....j' avais testé ta solution mais j' ai du faire un bidouillage et ca n' avait pas marché pfffffffff.
    Merci beaucoup.
    En fait je n' ai utilisé que la première partie de ce que tu as montré.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub Zonedeliste5_QuandChangement()
     
    Dim S As Shape
     
        Set S = Worksheets("EVALUATIONDESRISQUESTF").Shapes(Application.Caller)
     
        ActiveCell.Value = S.ControlFormat.List(S.ControlFormat.ListIndex)
     
     
    End Sub

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

Discussions similaires

  1. [OpenOffice][Tableur] Zone de liste dans une cellule
    Par figarojuju dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 28/05/2008, 21h48
  2. recuperer la valeur d'une liste dans une zone de text
    Par judy_ dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 28/05/2008, 11h58
  3. [AJAX] Afficher la valeur d'une liste dans une zone de texte
    Par debutantasp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/11/2007, 17h12
  4. Réponses: 6
    Dernier message: 12/12/2006, 18h58
  5. Réponses: 2
    Dernier message: 08/06/2006, 13h38

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