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 :

Alimenter combobox avec une recherche sur le nom des feuilles excel


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Autodidact en VBA pour un ami indépendant
    Inscrit en
    Février 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidact en VBA pour un ami indépendant

    Informations forums :
    Inscription : Février 2019
    Messages : 29
    Points : 35
    Points
    35
    Par défaut Alimenter combobox avec une recherche sur le nom des feuilles excel
    Bonjour,

    J'ai un formulaire de création du devis qui me permet de créer une nouvelle feuille excel automatiquement avec le nom du client et la date du jour.
    J'aimerais ajouter à ce formulaire une combobox qui liste tous les devis de ce client. Donc un code qui ferait une recherche du nom du client dans le nom des feuilles et ajouterai tous les résultats à la combobox.

    Voici le code où j'en suis, je crée une liste de toutes mes feuilles dans ma feuille "tableaux" colonne "R" et je fais une recherche du nom du client.
    Jusque-là tout va bien mais je n'arrive pas à ajouter tous les résultats de la recherche à la combobox.

    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
     
    Private Sub cboClientDevis_Change()
     
    Dim ws As Worksheet
    Dim x As Integer
     
    x = 1
     
    Sheets("Tableaux").Range("R:R").Clear
     
    For Each ws In Worksheets
         Sheets("Tableaux").Cells(x, 18) = ws.Name
         x = x + 1
    Next ws
     
    Set D = Sheets("Tableaux").Range("R:R").Find(cboClientDevis.Value, LookIn:=xlValues, LookAt:=xlPart)
    If Not D Is Nothing Then
    cboNomDevis.AddItem D
     
    Else
     End If
    End Sub
    Avec ce code je n'ai que le 1er résultat de la recherche. Je dois surement ajouter un "next" quelquepart mais je sèche...

    Merci d'avance pour votre aide.

    Cordialement

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

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonjour,

    A tester

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        With Sheets("Tableaux").Columns("R:R")
            Set D = .Find(cboClientDevis.Value, LookIn:=xlValues, Lookat:=xlPart)
            If Not D Is Nothing Then
                    Dep_D = D.Address
                Do
                    cboNomDevis.AddItem D
                    Set D = .FindNext(D)
                Loop While Not D Is Nothing And D.Address <> Dep_D
            End If
        End With
    Cdlt

  3. #3
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 914
    Points : 5 121
    Points
    5 121
    Par défaut
    Bonjour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub UserForm_Initialize()
    ComboBox1.Clear
    dim ws as Worksheet
        For Each ws In ThisWorkbook.Worksheets
            If ws.Name <> "ACCEUIL" And ws.Name <> "Vente" And ws.Name <> "COMPAR" Then
                ComboBox1.AddItem ws.Name        
            End If
        Next ws
    End Sub
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Autodidact en VBA pour un ami indépendant
    Inscrit en
    Février 2019
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidact en VBA pour un ami indépendant

    Informations forums :
    Inscription : Février 2019
    Messages : 29
    Points : 35
    Points
    35
    Par défaut
    Merci bcp "ARTURO83" ça fonctionne parfaitement comme je voulais.

    Bonne journée.

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

Discussions similaires

  1. Score incohérent avec une recherche sur des index fulltext
    Par Tchupacabra dans le forum Requêtes
    Réponses: 12
    Dernier message: 25/01/2019, 15h46
  2. faire une recherche sur le nom
    Par nassimanocus dans le forum Débuter
    Réponses: 1
    Dernier message: 17/04/2013, 11h51
  3. [XL-2003] Alimenter Combobox avec résultat recherche
    Par lafafmentvotre dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 15/11/2009, 16h52
  4. Une question sur le nom des contrôles
    Par mouaa dans le forum VBA Access
    Réponses: 4
    Dernier message: 25/01/2008, 16h30
  5. Comment remplir un ComboBox avec le nom des feuilles Excel ?
    Par libracom dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 27/06/2005, 15h14

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