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 :

Demande liste déroulante


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2024
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mai 2024
    Messages : 3
    Par défaut Demande liste déroulante
    Bonjour,
    Voici ma question,
    J’ai un planning pour la gestion des absences, congés…
    Je souhaiterais soit via une ligne déroulante, soit par une liste déroulante dans un formulaire UserForm, pouvoir sélectionner le jour de repos d’un salarié, et qu’automatiquement une valeur (en l’occurrence un « R ») soit inséré dans des cellules spécifiques.
    Par exemple je veux que en sélectionnant que le jour de repos de Louis est le « lundi » je veux qu’un « R » apparaissent dans les cellules correspondant aux lundi,

    Comment faire?
    Merci d’avance

  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
    13 176
    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 : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Quelle est votre question exactement ?
    Comment alimenter un Combobox ?
    Comme écrire dans une cellule l'élément sélectionné dans un ComboBox ?
    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

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2024
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mai 2024
    Messages : 3
    Par défaut
    Bonjour,
    En gros imaginons que j’ai un tableau de deux colonnes, la colonne A représente des codes postaux, et la colonne B les communes. A1 = 20600 et B1 = BASTIA.
    Je veux faire une combobox, qui aura comme données la colonne A soit les codes postaux, et que lorsque je choisis/selectionne un CP dans la liste déroulante, je veux qu’automatique ment dans une TextBox soit associé la commune.
    Compris?
    Merci d’avance

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    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 : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La plage contenant dans l'ordre des colonnes, les codes postaux et les villes est un tableau structuré nommé t_CodePostaux
    Le UserForm nommé Userform1 à un Combobox nommé cboCodePostal et le TextBox se nomme txtVille

    Code à placer dans un module standard et qui est la procédure de démarrage
    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
    Sub Main()
      Dim rng As Range
      Set rng = Range("t_CodePostaux")
      With UserForm1
        With .cboCodePostal
        .List = rng.Value
        .ColumnCount = rng.Columns.Count ' Nbre ce colonnes
        .ColumnWidths = "50;50"          ' Largeur des colonnes
        .BoundColumn = 2                 ' Identifie la colonne 2 comme source de données
        End With
      .Show
       ' rng.Value = .cboStatus.Value
      End With
      Unload UserForm1 ' Ferme le UserForm
      Set rng = Nothing
    End Sub
    Code à placer dans le UserForm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub cboCodePostal_Click()
      With Me
      .txtVille = .cboCodePostal.Value
      End With
    End Sub
     
    Private Sub CommandButton1_Click()
      Me.Hide
    End Sub
    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

  5. #5
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2024
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mai 2024
    Messages : 3
    Par défaut
    Merci Philippe,
    Je début tout juste, ça fait plaisir de voir que des personnes prennent encore le temps d’aider et transmettent leur connaissance.

    J’ai fais comme tu m’as dit, pas d’erreur, mais le TextBox affiche la même valeur que la Combobox, à savoir le code postal et non la commune.

    Dans ce que tu m’as envoyé ? Dois-je modifier/adapter des lignes ou c’est prêt à l’emploi copier/coller?
    J’ai vérifié les valeurs…



    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    La plage contenant dans l'ordre des colonnes, les codes postaux et les villes est un tableau structuré nommé t_CodePostaux
    Le UserForm nommé Userform1 à un Combobox nommé cboCodePostal et le TextBox se nomme txtVille

    Code à placer dans un module standard et qui est la procédure de démarrage
    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
    Sub Main()
      Dim rng As Range
      Set rng = Range("t_CodePostaux")
      With UserForm1
        With .cboCodePostal
        .List = rng.Value
        .ColumnCount = rng.Columns.Count ' Nbre ce colonnes
        .ColumnWidths = "50;50"          ' Largeur des colonnes
        .BoundColumn = 2                 ' Identifie la colonne 2 comme source de données
        End With
      .Show
       ' rng.Value = .cboStatus.Value
      End With
      Unload UserForm1 ' Ferme le UserForm
      Set rng = Nothing
    End Sub
    Code à placer dans le UserForm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub cboCodePostal_Click()
      With Me
      .txtVille = .cboCodePostal.Value
      End With
    End Sub
     
    Private Sub CommandButton1_Click()
      Me.Hide
    End Sub

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    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 : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Comme je l'ai expliqué dans ma première phrase, la table chez moi contient le code postal en colonne 1 et la ville en colonne 2 donc le ComboBox est chargé de la même manière.
    C'est la raison pour laquelle si l'on sélectionne une ligne, c'est le second élément qui va remplir le TextBox parce-que en ligne 9 de la procédure, j'ai défini la propriété BoundColumn à 2. Si la ville est en colonne 1, on peut enlever cette ligne car la valeur par défaut de cette propriété est 1
    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

Discussions similaires

  1. Ecrire dans une liste droulante en html
    Par nawara3003 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/02/2010, 11h59
  2. Réponses: 8
    Dernier message: 30/09/2006, 05h18
  3. Demande d'un /etc/apt/sources.list
    Par JavaAcro dans le forum Debian
    Réponses: 2
    Dernier message: 05/06/2006, 14h20
  4. Réponses: 2
    Dernier message: 04/06/2006, 21h35
  5. Réponses: 4
    Dernier message: 18/11/2004, 13h26

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