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 :

Recupérer valeur dans textbox quand selection dans ComboBox


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 45
    Par défaut Recupérer valeur dans textbox quand selection dans ComboBox
    Bonjour à tous,

    voilà, j'ai une combobox dans laquel j'affiche les noms de la colonne A de ma feuille excel, et je voudrais en sélectionnant le nom dans ma combobox que ça m'affiche dans ma textbox le prenom de la personne sélectionné (prénom qui se trouve dans ma colonne B), mais je ne sais pas comment faire j'ai des erreurs lorsque je lance ma macro
    je vous montre mon 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Private Sub Ini() 'initialisation de l'USF
    Dim CTRL As Control     'Variable pour la collection des controls
    Dim L As Long           'Variable pour connaitre le numéro de derniere ligne
    Dim i As Long           'Variable pour connaitre incrémenter les Data
    Dim sItem As String     'mémorise le dernier élément mis en liste
    Dim WS As Excel.Worksheet
     
    'On Vide tous les Controls
    For Each CTRL In Me.Controls
    If TypeOf CTRL Is MSForms.TextBox Or TypeOf CTRL Is MSForms.ComboBox Then
    CTRL = ""
    End If
    Next CTRL
    Me.CmbNom.Clear 'On vide les précédentes données
    Set WS = ThisWorkbook.Sheets("Base") 'On identifie l'objet pour la feuille de travail
    L = WS.Range("A65536").End(xlUp).Row    'On identifie la dernière ligne en partant du bas
     
    'Pour éviter les fash d'écran pour le select ci dessous
    Application.ScreenUpdating = False
        WS.Select 'On sélectionne la feuille sinon bug si elle ne l'est pas
        WS.Range("A2").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess 'Le Sort
     
     
    For i = 3 To L             'Boucle départ 2 (Ligne 2 de la feuille, jusqu'à dernière
        If WS.Range("A" & i) <> sItem Then
            sItem = WS.Range("A" & i)  'evite les doublons dans la combo
            Me.CmbNom.AddItem sItem   
        End If
    Next i
     
    Application.ScreenUpdating = True
    End Sub
     
    Private Sub CmbNom_Click() 'combo déclenché au click
    If Me.CmbNom.ListIndex = -1 Then Exit Sub 'ON sort si pas de sélection
    Txt1 = WS.Range("B" & Me.CmbNom.ListIndex + 2) 'On alimente les données correspondant à la ligne
     
    'ici on initialise les Variable pour mémoriser le valeur précédente en cas de Modif
    With Me
    Nom = .CmbNom
    End With
    End Sub
    merci d'avance

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Re...

    Le problème est que tu déclares ta variable WS dans une procédure (ce qui limite la portée de la variable à cette procédure) et ensuite tu la récupères dans une autre procédure.

    Déclare ta variable en tête du Module
    Ou si tu as besoin d'utiliser cette variable dans n'importe quelle procédure de n'importe quel Module, tu la déclares en tête d'un Module Standard
    Explication sur l'utilisation des variables --> http://silkyroad.developpez.com/VBA/LesVariables/#LV

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 45
    Par défaut
    Merci Fring,

    Je vais regarder ça!!

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/07/2011, 11h57
  2. [AC-2000] recupérer le résultat d'un select dans une variable
    Par teen6517 dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/09/2010, 15h54
  3. Recupérer valeur des ports COM (rs232) dans excel
    Par Dam1988 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/08/2010, 00h02
  4. javascript/php:recuperer une valeur de select dans une meme page dans une var php
    Par hraiwen dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 21/03/2009, 13h12
  5. Réponses: 16
    Dernier message: 29/10/2007, 16h58

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