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 :

Afficher des valeurs de cellules en fonction d'un ComboBox [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Amateur
    Inscrit en
    Février 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Février 2014
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Afficher des valeurs de cellules en fonction d'un ComboBox
    Re-bonjour,

    Je reviens avec mon fichier de base de donnée pour la suite de mes problèmes.

    Dans un autre topic, j'avais demandé comment mettre les noms et prénom de tous mes employés dans une liste déroulante.
    Maintenant j'aimerai que, après avoir sélectionné un employé, on puisse cliquer sur le bouton Modifier et qu'il affiche dans les case de l'userform suivant, toutes les informations nécessaires inscrites dans la ligne de l'employé.

    Merci d'avance pour vos réponses !

    Antemix

  2. #2
    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 955
    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 955
    Points : 28 964
    Points
    28 964
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si tu utilises le contrôle ComboBox pour afficher des données (Nom et prénom par exemple) et si tu affiches la liste de toutes les données de la première à la dernière, alors utilise la propriété ListIndex qui te renvoie le n° de la ligne sélectionnée dans la liste (0 étant la première).
    Il suffit alors de faire une simple addition arithmétique entre le numéro de la ligne de la première cellule avec la valeur renvoyée par ListIndex

  3. #3
    Membre à l'essai
    Homme Profil pro
    Amateur
    Inscrit en
    Février 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Février 2014
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Je n'y arrive pas, ou j'ai pas compris (la deuxième est la bonne surement)

    J'ai mis ça comme 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
    Private Sub CommandButton1_Click()
     
    'On supprime tout de la liste déroulante lors de l'appui sur le bouton Modifier
     
    ComboBox1.Clear
     
    'On regarde quelle ligne est séléctionnée et on fait +2 pour les 2 lignes d'entête du fichier
    'Utilisation d'une static pour réattribuer la variable dans un autre module
     
    Static Ligne As Variant
    Ligne = ComboBox1.ListIndex + 2 'Prend en compte le numéro de ligne de la personne séléctionnée
     
    'Affiche l'UserForm
     
    modification.Show
     
    End Sub
    Je me suis dit qu'il fallait mettre un Static pour la déclaration, parce que la variable je la réutilise dans la séquence c'initialisation de l'Userform suivant ou toutes les données sont affichées:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub UserForm_Initialize()
     
    'Utilise la variable ligne pour savoir le numéro de la ligne à charger et le numéro indique la colonne de la valeur recherchée (voir dossier compl. pour savoir quelle valeur a quoi)
    nom.Value = Cells(Ligne, 2)
     
     
    End Sub

  4. #4
    Membre à l'essai
    Homme Profil pro
    Amateur
    Inscrit en
    Février 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Février 2014
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Bon au final j'ai réussi...

    Mon erreur est que je supprimait la liste avant d'affecter les variables.

    Et j'ai ensuite eu un bug d'affectation des variables donc j'ai réservé un carré de cellules pour les stocker indéfiniment. Ca sera plus lourd mais ca marchera

    Merci pour vos réponses et à tout bientôt (enfin je ne l'espère pas...)

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

Discussions similaires

  1. Afficher des valeurs en fonction d'une autre valeur
    Par flobos dans le forum Access
    Réponses: 2
    Dernier message: 15/06/2015, 08h03
  2. [XL-2010] Affiche des valeurs sur textbox par rapport d'un combobox
    Par Yousssef Boubaddara dans le forum Excel
    Réponses: 3
    Dernier message: 03/12/2013, 14h14
  3. Réponses: 13
    Dernier message: 29/10/2012, 00h05
  4. Afficher des valeurs en fonction des données d'un champ
    Par Tchouk01 dans le forum VBA Access
    Réponses: 0
    Dernier message: 02/04/2008, 14h24
  5. Fonction permettant d'afficher des valeurs
    Par Shakta dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 28/06/2006, 12h01

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