Récupérer données dans cellules

  • Initiateur de la discussion Initiateur de la discussion RONIBO
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

RONIBO

XLDnaute Impliqué
Bonjour,

J'aimerais récupérer des données situant dans une colonne et les mettre dans un combobox.

Dans mon fichier j'ai une feuille nommée "Répertoire", il y a une colonne nommée "Nom de la Société"

J'aimerais prendre cette colonne et transférer le contenu dans un combobox de mon usf (Mail)

J'aurais plusieurs conditions :

- Ne pas lister les doublons
- Dans le combobox mettre seulement les nom de société
- Trie de A à Z


Je vous joint un fichier exemple.

Merci d'avance.

A+
 

Pièces jointes

Re : Récupérer données dans cellules

Bonsoir,

A mettre dans le module de ta Form :
Code:
Private Sub UserForm_Initialize()

    ChargerCombo
    
End Sub

Sub ChargerCombo()

    Dim Plage As Range
    Dim Cel As Range
    Dim Dico As Object
    Dim ListeCle As Variant
    Dim I As Integer
    Dim J As Integer
    Dim Tempo As String
       
    Set Dico = CreateObject("Scripting.Dictionary")
    
    With Worksheets("Répertoire")
     
        Set Plage = .Range(.Cells(4, 1), .Cells(.Rows.Count, 1).End(xlUp))
    
    End With

    For Each Cel In Plage
        
        If Dico.exists(Cel.Value) = False Then
        
            Dico.Add Cel.Value, Cel.Value
            
        End If
        
    Next Cel
    
    ListeCle = Dico.Keys
    
    'tri moulinette
    For I = 0 To Dico.Count - 2
    
        For J = I + 1 To Dico.Count - 1
        
            If ListeCle(I) > ListeCle(J) Then
            
                Tempo = ListeCle(J)
                
                ListeCle(J) = ListeCle(I)
                
                ListeCle(I) = Tempo
                
            End If
            
        Next J
        
    Next I
    
    For I = 0 To Dico.Count - 1
    
        ComboBoxListeClient.AddItem ListeCle(I)
        
    Next I

End Sub

Hervé.
 
Re : Récupérer données dans cellules

La procédure évènementielle "UserForm_Initialize()" se déclenche au lancement de la Form, dans cette proc, la ligne "ChargerCombo" appelle cette procédure qui ensuite fait ce que tu demande.
 
Re : Récupérer données dans cellules

bonsoir Ronibo,Theze

je te retourne ton fichier avec la combobox qui se rempli a l'initialisation de l'usf et si "A4" est vide la combobox n'affiche que les lignes suivantes en laissant un vide a la place de "A4"

Pascal
 

Pièces jointes

Re : Récupérer données dans cellules

Bonsoir,

Je vais attendre sagement pour trouver une solution à mon problème.

Je le reprécise au cas ou,

J'aimerais mettre le combobox "ComboBoxListeClient" vide si aucune données dans la feuille "Répertoire" (à partir de la cellule A4)

Actuellement j'ai une ligne vide et le titre du tableaux dans le combobox.

Voici le code que j'utilise :
Sub ComboBoxClient()
Dim Plage As Range
Dim Cel As Range
Dim Dico As Object
Dim ListeCle As Variant
Dim I As Integer
Dim J As Integer
Dim Tempo As String
Set Dico = CreateObject("Scripting.Dictionary")
With Worksheets("Répertoire")
Set Plage = .Range(.Cells(4, 1), .Cells(.Rows.Count, 1).End(xlUp))
End With
For Each Cel In Plage
If Dico.exists(Cel.Value) = False Then
Dico.Add Cel.Value, Cel.Value
End If
Next Cel
ListeCle = Dico.Keys
For I = 0 To Dico.Count - 2
For J = I + 1 To Dico.Count - 1
If ListeCle(I) > ListeCle(J) Then
Tempo = ListeCle(J)
ListeCle(J) = ListeCle(I)
ListeCle(I) = Tempo
End If
Next J
Next I
For I = 0 To Dico.Count - 1
Mail.ComboBoxListeClient.AddItem ListeCle(I)
Next I
End Sub

Merci Theze pour le code 🙂

Merci d'avance à vous 🙂

a+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
701
Retour