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 :

Attribuer numero suivant choix combobox dans userform [XL-2007]


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
    Inscrit en
    Mars 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 241
    Par défaut Attribuer numero suivant choix combobox dans userform
    Bonjour au forum,

    Je souhaite qu'un numéro s'affiche dans "feuil4" en A1 selon le choix fait par le biais d'une ComboBox dans userform.

    En clair

    Ouverture de l'userform, je clique sur ComboBox "Etat", je choisie "Devis" parmi les autres (Avoir, Facture, Fiche d'intervention, Impayée), ce qui permet d'écrire le numéro correspondant au choix dans la feuil4 en cellule A1
    Avoir =1
    Devis=2
    Facture = 3
    Fiche d'intervention = 4
    Impayée = 3.

    L'idée du code vba, serait de faire une capture du choix dans la ComboBox et utilisé le si et else.

    Pouvez-vous m'aidez s'il vous plait et j'espère avoir été claire dans mon explication ?

    En remerciant à l'avance

    Stéphanie

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Une solution est de faire une fonction si tu utilises cette information à plusieurs endroits (tu peux aussi alimenter une variable)

    Je préfère le select case à l'imbrication de If
    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
    Function NumCmbo() As Integer
    Dim iNum As Integer
     
    Select Case ComboBox1.Text
        Case "Avoir"
            iNum = 1
        Case Devis
            iNum = 2
        Case "facture", "Impayée"
            iNum = 3
        Case "Fiche d'intervention"
            iNum = 4
    End Select
     
    NumCmbo = iNum
    End Function

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 241
    Par défaut
    Bonjour jfontaine

    J'ai ecris ce que vous me conseillé
    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 etat_Change()
    Function NumCmbo() As Integer
    Dim iNum As Integer
     
    Select Case etat.Text
        Case "Avoir"
            iNum = 1
        Case Devis
            iNum = 2
        Case "facture", "Impayée"
            iNum = 3
        Case "Fiche d'intervention"
            iNum = 4
    End Select
     
    NumCmbo = iNum
    End Function
    mais j'ai l'impression qu'il manque quelque chose pour que le numéro s’inscrive dans la cellule A1 de la "feuil4". Le classeur s'ouvre sur la "feuill3", ensuite je clique sur le bouton pour que l'userform qui contient la combobox "etat" s'affiche

    En vous remerciant d'avoir répondu à mon aide,

    au plaisir de vous relire

    Stéphanie

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Plutôt comme cela

    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
    Private Sub etat_Change()
    Sheets("Feuil4").Range("A1").Value = NumCmbo()
    End Sub
     
     
    Function NumCmbo() As Integer
     
    Dim iNum As Integer
     
    Select Case etat.Text
        Case "Avoir"
            iNum = 1
        Case Devis
            iNum = 2
        Case "facture", "Impayée"
            iNum = 3
        Case "Fiche d'intervention"
            iNum = 4
    End Select
     
    NumCmbo = iNum
     
    End Function

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 241
    Par défaut
    re,

    Merci jfontaine, ça fonctionne

    Stéphanie

    Bonsoir,

    j'ai une autre question à peu près similaire. Voilà ce que je souhaite, toujours dans le même userform mais avec une autre ComboBox "paiement", je voudrais que le choix "Chèque" ou autres (Espèces, CB, Virement) s’inscrive dans la cellule E13 de la feuil "Param"

    Je pense qu'il doit y avoir une histoire de caption dans le code vba !

    Merci du nouveau coup de pouce

    Stéphanie

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Si le code ci dessous écrit dans la cellule A1 de la feuille 4
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil4").Range("A1").Value = "machine"
    Tu devrais trouver assez facilement comment écrire dans la cellule E13 de la feuille Param

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

Discussions similaires

  1. [XL-2010] Alimenter Combobox dans Userform avec noms définis variables
    Par aethangaia dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 27/06/2014, 14h24
  2. [XL-2003] Pb avec les valeurs sortantes COmbobox dans Userform
    Par FrankCF dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/08/2011, 17h45
  3. [XL-2003] Mise en forme ComboBox dans UserForm
    Par Lufia dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 22/10/2009, 20h59
  4. Combobox dans userform
    Par syllage dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/09/2009, 18h21
  5. (VBA-E) Problème combobox dans userform
    Par gringo69 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/06/2006, 18h28

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