Microsoft 365 RowSource d'une Combobox

eric72

XLDnaute Accro
Bonjour à tous,
Je cherche à faire une recherchev en vba à partir d'une combobox et avec une liste qui se trouve dans "Source Communes.xlsx", voilà le code que j'ai écrit (mais sans succès)

Private Sub TxtCommuneFacturation_Change()
TxtCpFacturation.Value = Application.WorksheetFunction.VLookup(TxtCommuneFacturation.Value, "MaListe", 2, 0)
et
Private Sub UserForm_Initialize()
MaListe = "'[Source Communes.xlsx ]feuil1'!List_Communes"
Me.TxtCommuneFacturation.RowSource = MaListe
End Sub

le message est impossible de définir la propriété RowSource (je ne suis pas très doué!!!)
Je pense que l'erreur va vous sauter aux yeux, mais pas au miens...
Merci beaucoup pour votre aide toujours aussi précieuse.
Eric
 

eric72

XLDnaute Accro
j'ai suivi votre conseil et j'ai mis ma liste des communes dans mon classeur j'ai écrit ce code :
Private Sub UserForm_Initialize()
Dim feuille As Worksheet
Dim ligne As Integer
Dim derligne As Integer

Set feuille = ThisWorkbook.Sheets("Feuil1")
With feuille
derligne = .Range("a" & Rows.Count).End(xlUp).Row
For ligne = 2 To derligne
Me.TxtCommuneFacturation.AddItem .Range("a" & ligne).Value
Next ligne
End With

Set feuille = Nothing
End Sub

et là j'ai un message de dépassement de capacité, est ce que c'est limité???
Merci
Eric
 

patricktoulon

XLDnaute Barbatruc
re
bon alors
je te propose de laisser ton fichier list_comune fermé !!!!!
je te propose de virer le inialyse de ton usf client
je te propose d'utiliser le activate
je te propose de récupérer les nom et code postal
tout cà tres tres vite est sans ouvrir le fichier
tu est d'accords avec ça
ben voila
avec mon petit code ado sur tableaux structurés dans fichiers fermé qui va bien
VB:
Private Sub UserForm_Activate()
    Dim Bd$
    Bd = ThisWorkbook.Path & "\Source Communes.xlsm"
    Me.Repaint
    With CreateObject("ADODB.Connection")
        Sql = "select [Nom_commune],[Code_postal] from [Feuil1$]"
        .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Bd & ";Extended Properties='Excel 12.0;HDR=Yes'"
        tablo = .Execute(Sql).GetRows
        .Close
        With TxtCommuneFacturation
            .ColumnCount = 2
            .Column = tablo
        End With
    End With
End Sub

c'est pas compliqué moins de 1 seconde pour récupérer ta liste de commune dans le fichier list-commune.xlsm

c'est pas beau la vie
ado mon amis est arrivé sans se préssé hehé hé
démonstration
demo7.gif


t' a compris ou je casse tout !!! 🤣
libre a toi d'ouvrir ou pas ce fichier après mais pour ta combobox tu n'a pas besoins de l'ouvrir
 

eric72

XLDnaute Accro
Waouhhh c'est juste génial, en effet le temps de traitement est immédiat.
Si je peux abuser, peux tu me dire pourquoi dans mon userform "momie" s'affiche en dehors de la combobox "recherche"?
Merci 1000 fois pour cette solution, c'est MAGIQUE.
eRIC
 

Discussions similaires

Réponses
7
Affichages
899

Statistiques des forums

Discussions
315 147
Messages
2 116 770
Membres
112 857
dernier inscrit
sanogo