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 :

Plage source d'un combobox sous condition [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Employé
    Inscrit en
    Août 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Employé

    Informations forums :
    Inscription : Août 2017
    Messages : 32
    Par défaut Plage source d'un combobox sous condition
    Bonjour à toutes et à tous,

    Après plusieurs essais infructueux, je m'adresse à vous afin d'y voir un peu plus clair

    Je souhaiterais pouvoir alimenter le combobox "CBOX_PROD" avec les valeurs de la colonnes F (CODE_SUITE) mais sous les conditions suivantes :

    -> uniquement si la valeur en P=9999
    -> avec saisie intuitive (premiers caractères tapés)
    -> et le tout trié numériquement

    A noter que la base de données originale fait plus de 50.000 lignes.

    Merci d'avance pour votre aide si précieuse.

    Bonne journée
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            a = f.Range("F1:F" & f.Range("F65536").End(xlUp).Row)
            For I = LBound(a) + 1 To UBound(a)
                If a(I, 1) <> "" And Cells(I, "P") = 9999 Then mondico(a(I, 1)) = ""
            Next I
    Cdlt

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    Bonjour,

    ComboBox conditionnel avec recherche intuitive

    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
    Dim choix()
    Private Sub UserForm_Initialize()
       temp = [tableau].Columns(6).Value
       Condition = [tableau].Columns(16).Value
       For i = 1 To UBound(temp)
         If Condition(i, 1) = 2018 Then n = n + 1: ReDim Preserve choix(1 To n): choix(n) = temp(i, 1)
       Next i
       Me.ComboBox1.List = choix
    End Sub
     
    Private Sub ComboBox1_Change()
     If Me.ComboBox1 <> "" Then
       clé = Me.ComboBox1 & "*"
       Set d = CreateObject("scripting.dictionary")
       For i = 1 To UBound(choix)
         If choix(i) Like clé Then d(choix(i)) = ""
       Next i
       If d.Count > 0 Then
          temp = d.keys
          '  ajouter un tri
          Me.ComboBox1.List = temp
          Me.ComboBox1.DropDown
       End If
     End If
    End Sub
     
    Private Sub ComboBox1_Click()
      MsgBox Me.ComboBox1
    End Sub

    Boisgontier
    Fichiers attachés Fichiers attachés

  4. #4
    Membre averti
    Homme Profil pro
    Employé
    Inscrit en
    Août 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Employé

    Informations forums :
    Inscription : Août 2017
    Messages : 32
    Par défaut
    Merci à ARTURO83 et à boisgontierjacques pour leur code.

    Après une petite adaptation, le formulaire tourne à merveille.

    Excellente journée

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

Discussions similaires

  1. Macro copier coller d'une plage sur nouveau fichier excel sous condition
    Par lapagaille dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/02/2014, 13h11
  2. Déplacer combobox sous certaines conditions
    Par panda78 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/09/2012, 20h06
  3. Transposition plages de valeurs sous condition
    Par Guizmoninou dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/06/2011, 10h03
  4. [XL-2010] boucle copie de plages sous condition
    Par vladouchka dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/04/2011, 10h52
  5. source de formulaire sous conditions
    Par delg dans le forum Access
    Réponses: 2
    Dernier message: 22/09/2006, 11h46

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