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 :

Modification du contenu d'une ComboBox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    Bonjour,
    J'ai une ComboBox qui contient un certain nombre d'information prédéfinies directement par la fonction MaComboBox.AddItem "coucou", a l'initialisation de ma Form.
    Mais parfois, certains cas de figures ne sont pas représentés et l'utilisateur de la Form est obligé de rentrer les données directement lui même. Je voudrais savoir si il ya un moyen pour que les information que l'utilisateur entre puissent être rajouter à ma ComboBox de façon définitive.
    Et que à chaque fois que je relancerai ma macro les informations qui ont été rajouées réaparaissent...

    Merci par avance

    Si le besoin est je peut rajouter un bouton pour les besoins... ou pour une question de simplification...
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  2. #2
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonjour

    peux tu avoir une liste des éléments de ta combobox dans une feuille masquée par exemple?

  3. #3
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    Oui cela ne me pose pas de problème mais je ne connais pas le type de fonctionnement d'une feuille caché...
    Mais si je suit le raisonnement en fait il me suffit au lieu de rentrer à la main les items dont j'ai besoin, je ferais une liste dans un autre feuille et je ferai un ajout groupé dans ma ComboBox... c'est bougrement intelligent!!!
    Si le besoin est je peut faire la même chose avec toutes mes ComboBox, seul le numéro de la colonne va varier...
    J'ai 4 ComboBox... ça ne va pas être un peut compliquer à gérer?
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  4. #4
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    pas de soucis
    j'ai supposé que tu affichais un userform
    il te faut une feuille nommée Feuille masquée
    Dans la colonne A la liste du ComboBox1
    Dans la colonne B la liste du ComboBox2
    etc.

    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
    43
    44
    45
    Option Explicit
    Private Collec1 As New Collection
    Private Collec2 As New Collection
    Private derli1 As Long
    Private derli2 As Long
     
    Private Sub ComboBox1_Change()
    On Error Resume Next
    Collec1.Add Item:=ComboBox1.Text, Key:=ComboBox1.Text
    If Err.Number = 0 Then _
    Sheets("Feuille masquée").Range("A" & derli1 + 1) = ComboBox1.Text
     
    End Sub
    Private Sub ComboBox2_Change()
    On Error Resume Next
    Collec2.Add Item:=ComboBox2.Text, Key:=ComboBox2.Text
    If Err.Number = 0 Then _
    Sheets("Feuille masquée").Range("B" & derli2 + 1) = ComboBox2.Text
     
    End Sub
     
    Private Sub UserForm_Initialize()
    Dim C As Range
    Dim tabComboBox1 As Variant
    Dim tabComboBox2 As Variant
     
    derli1 = Sheets("Feuille masquée").Columns(1).Find("*", , , , , xlPrevious).Row
    derli2 = Sheets("Feuille masquée").Columns(2).Find("*", , , , , xlPrevious).Row
     
    tabComboBox1 = Sheets("Feuille masquée").Range("A1:A" & derli1).Value
    tabComboBox2 = Sheets("Feuille masquée").Range("B1:B" & derli2).Value
     
    For Each C In Sheets("Feuille masquée").Range("A1:A" & derli1)
     Collec1.Add C.Value, CStr(C.Value)
    Next C
    For Each C In Sheets("Feuille masquée").Range("B1:B" & derli2)
     Collec2.Add C.Value, CStr(C.Value)
    Next C
     
    ComboBox1.List() = tabComboBox1
    ComboBox2.List() = tabComboBox2
     
    ComboBox1.ListIndex = 0
    ComboBox2.ListIndex = 0
    End Sub
    Si c'est ce que tu veux, on optimiseras plus tard.
    Tu peux aussi utiliser l'objet Dictionnary plutôt que collection
    @+

  5. #5
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    Cela fonctionne très bien, mais juste deux chose à rajouter...

    J'aimerais que mes comboBox restent vide à l'initialisation de la Form.
    En gros je voudrai pas que la première valeur n'apparaissent pas par défault! mais que au contraire il n'y en ai aucune!

    Seconde chose J'aimerai ne pas être obliger de fermer complètement ma form pour que la valeur réapparaisse dans la ComboBox... peut être un repaint?
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  6. #6
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    re

    supprime ces deux lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ComboBox1.ListIndex = 0
    ComboBox2.ListIndex = 0

    Pour la question 2
    il vaut mieux remplacer change par exit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    On Error Resume Next
    Collec1.Add Item:=ComboBox1.Text, Key:=ComboBox1.Text
    If Err.Number = 0 Then
    Sheets("Feuille masquée").Range("A" & derli1 + 1) = ComboBox1.Text
    
    ComboBox1.AddItem ComboBox1.Text
    
    End If
    End Sub

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

Discussions similaires

  1. effacer contenu d'une combobox liée
    Par christi dans le forum Windows Forms
    Réponses: 13
    Dernier message: 04/02/2009, 17h25
  2. Réponses: 10
    Dernier message: 05/02/2008, 14h37
  3. Modification du contenu d'une balise div en fonction de la sélection
    Par temperature dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/11/2007, 11h47
  4. Modification du contenu d'une page d'un repertoire virtuel
    Par celine_tr dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 24/08/2006, 16h17
  5. Recupérer le contenu d'une comboBox
    Par M1000 dans le forum Flash
    Réponses: 1
    Dernier message: 17/05/2006, 10h41

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