List/rowsource
Résolu/Fermé
chrisdemontigny
Messages postés
64
Date d'inscription
mercredi 19 septembre 2012
Statut
Membre
Dernière intervention
17 mars 2015
-
24 déc. 2012 à 18:48
chrisdemontigny Messages postés 64 Date d'inscription mercredi 19 septembre 2012 Statut Membre Dernière intervention 17 mars 2015 - 27 déc. 2012 à 16:41
chrisdemontigny Messages postés 64 Date d'inscription mercredi 19 septembre 2012 Statut Membre Dernière intervention 17 mars 2015 - 27 déc. 2012 à 16:41
A voir également:
- List/rowsource
- List disk - Guide
- Directory list & print - Télécharger - Divers Utilitaires
- Emule server list ✓ - Forum Réseaux sociaux
- Jump list ccleaner ✓ - Forum Logiciels
- Commande list disk ✓ - Forum Windows
8 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 778
24 déc. 2012 à 19:18
24 déc. 2012 à 19:18
Le nom de ta procédure semble ambigü, "me" est un mot réserve au langage, il ne faut pas nomme un objet "me"
chrisdemontigny
Messages postés
64
Date d'inscription
mercredi 19 septembre 2012
Statut
Membre
Dernière intervention
17 mars 2015
24 déc. 2012 à 19:52
24 déc. 2012 à 19:52
Je me suis trompé, remplace me par client
As tu une autre idée avec ce changement?
As tu une autre idée avec ce changement?
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 778
24 déc. 2012 à 20:17
24 déc. 2012 à 20:17
Essaies (avec un UserForm nommé Client):
Private Sub UserForm_Initialize()
With ThisWorkbook.Worksheets("bddclients")
Client.ComboBox1.List = .Range("C1:C" & .Range("C65536").End(xlUp).Row).Value
End With
End Sub
Private Sub UserForm_Initialize()
With ThisWorkbook.Worksheets("bddclients")
Client.ComboBox1.List = .Range("C1:C" & .Range("C65536").End(xlUp).Row).Value
End With
End Sub
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 778
24 déc. 2012 à 20:23
24 déc. 2012 à 20:23
PS : 2^16 = 65536 (et pas 65356) mais à partir de xl 2007 il vaut mieux écrire :
Client.ComboBox1.List =.Range("C1:C" & .Range("C"&.Rows.Count).End(xlUp).Row).Value
Client.ComboBox1.List =.Range("C1:C" & .Range("C"&.Rows.Count).End(xlUp).Row).Value
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
24 déc. 2012 à 20:49
24 déc. 2012 à 20:49
Bonsoir chrisdemontigny,
Joyeux Noël,
Heliotte.
Dim i As Integer, iMin As Integer, iMax As Integer ' iMin = 14: iMax = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row For i = iMin To iMax ComboBox1.AddItem (Cells(i, 1).Value) Next i
Joyeux Noël,
Heliotte.
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 778
24 déc. 2012 à 20:55
24 déc. 2012 à 20:55
Bonjour,
Tu peux remplacer :
For i = iMin To iMax
ComboBox1.AddItem (Cells(i, 1).Value)
Next i
Par :
ComboBox1.List = Range(Cells(iMin, 1), Cells(iMax, 1)).Value
Tu peux remplacer :
For i = iMin To iMax
ComboBox1.AddItem (Cells(i, 1).Value)
Next i
Par :
ComboBox1.List = Range(Cells(iMin, 1), Cells(iMax, 1)).Value
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
24 déc. 2012 à 22:34
24 déc. 2012 à 22:34
Bonsoir Patrice33740,
Merci pour cet exemple .. rapide, net, sans bavure.
Joyeuses fêtes,
Heliotte.
Merci pour cet exemple .. rapide, net, sans bavure.
Joyeuses fêtes,
Heliotte.
chrisdemontigny
Messages postés
64
Date d'inscription
mercredi 19 septembre 2012
Statut
Membre
Dernière intervention
17 mars 2015
27 déc. 2012 à 12:58
27 déc. 2012 à 12:58
Bonjour et merci pour vos réponses.
Ce code a fonctionné dans un nouveau fichier où j'ai rajouté des données dans une colonne pour avoir des données qui apparaissent.
En revanche, j'ai un fichier dans lequel j'ai plusieurs feuilles et plusieurs userform et là, ca reste toujours sans rien.
J'ai fait un copier-coller du code de patrice33740 pour être sur que je n'oubliais rien, mais rien n'y fait.
Voici le code que j'ai donc changé en fonction de vos lumières:
Private Sub smclient_initialize()
Dim i As Integer, iMin As Integer, iMax As Integer
iMin = 1: iMax = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
smclient.ComboBox1.List = ThisWorkbook.Sheets("bddclients").Range(Cells(iMin, 3), Cells(iMax, 3)).Value
smclient.ComboBox2.List = ThisWorkbook.Sheets("bddclients").Range(Cells(iMin, 2), Cells(iMax, 2)).Value
End Sub
Merci de votre aide par avance.
Ce code a fonctionné dans un nouveau fichier où j'ai rajouté des données dans une colonne pour avoir des données qui apparaissent.
En revanche, j'ai un fichier dans lequel j'ai plusieurs feuilles et plusieurs userform et là, ca reste toujours sans rien.
J'ai fait un copier-coller du code de patrice33740 pour être sur que je n'oubliais rien, mais rien n'y fait.
Voici le code que j'ai donc changé en fonction de vos lumières:
Private Sub smclient_initialize()
Dim i As Integer, iMin As Integer, iMax As Integer
iMin = 1: iMax = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
smclient.ComboBox1.List = ThisWorkbook.Sheets("bddclients").Range(Cells(iMin, 3), Cells(iMax, 3)).Value
smclient.ComboBox2.List = ThisWorkbook.Sheets("bddclients").Range(Cells(iMin, 2), Cells(iMax, 2)).Value
End Sub
Merci de votre aide par avance.
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
27 déc. 2012 à 13:16
27 déc. 2012 à 13:16
Bonjour,
Explications :
- Ce code, signifie qu'il va rechercher la dernière ligne non-vide de la colonne "Columns(1)" ~~ signifie "Colonne A"
Or, tu as besoin de rechercher la dernière ligne non-vide des colonne "B" et "C".
Veux-tu essayer ceci:
iMax = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
Explications :
- Ce code, signifie qu'il va rechercher la dernière ligne non-vide de la colonne "Columns(1)" ~~ signifie "Colonne A"
Or, tu as besoin de rechercher la dernière ligne non-vide des colonne "B" et "C".
Veux-tu essayer ceci:
Private Sub smclient_initialize() Dim i As Integer, iMin As Integer, iMax As Integer ' iMin = 1: iMax = Columns(3).Find("*", , , , xlByColumns, xlPrevious).Row smclient.ComboBox1.List = ThisWorkbook.Sheets("bddclients").Range(Cells(iMin, 3), Cells(iMax, 3)).Value iMax = Columns(2).Find("*", , , , xlByColumns, xlPrevious).Row smclient.ComboBox2.List = ThisWorkbook.Sheets("bddclients").Range(Cells(iMin, 2), Cells(iMax, 2)).Value End Sub
chrisdemontigny
Messages postés
64
Date d'inscription
mercredi 19 septembre 2012
Statut
Membre
Dernière intervention
17 mars 2015
27 déc. 2012 à 16:41
27 déc. 2012 à 16:41
Il est clair que j'avais laissé quelques erreurs sur mon code précédent.
Cela fonctionne maintenant.
Merci beaucoup.
Cela fonctionne maintenant.
Merci beaucoup.