PS : pour l'erreur d'éxécution : ajouter un point entre C et Text !
** UserForm1.ComboBox1.AddItem c.Text **
AV
PS : pour l'erreur d'éxécution : ajouter un point entre C et Text !
** UserForm1.ComboBox1.AddItem c.Text **
AV
PS : pour l'erreur d'éxécution : ajouter un point entre C et Text !
** UserForm1.ComboBox1.AddItem c.Text **
AV
UserForm1.ComboBox1.AddItem c Text
Le problème est que cette ligne n'existe pas dans l'exemple de code fourni
!
Par ailleurs tu parles de ListBox dans l'objet de la question et
maintenant de
Combo...
Quid de tout ça ?
Si ton adresse est valide (sinon...ben tant pis...), je t'envoie un
exemple en
bal perso
AV
UserForm1.ComboBox1.AddItem c Text
Le problème est que cette ligne n'existe pas dans l'exemple de code fourni
!
Par ailleurs tu parles de ListBox dans l'objet de la question et
maintenant de
Combo...
Quid de tout ça ?
Si ton adresse est valide (sinon...ben tant pis...), je t'envoie un
exemple en
bal perso
AV
UserForm1.ComboBox1.AddItem c Text
Le problème est que cette ligne n'existe pas dans l'exemple de code fourni
!
Par ailleurs tu parles de ListBox dans l'objet de la question et
maintenant de
Combo...
Quid de tout ça ?
Si ton adresse est valide (sinon...ben tant pis...), je t'envoie un
exemple en
bal perso
AV
Bonjour Pfval,
Une autre alternative....si ta liste est longue
1 ) n'affiche que les données répondant aux critères
1 ) trie par ordre alphabétique les données affichées dans le combobox
2 ) évite la présence des doublons le cas échéant
Pour ce faire, tu dois charger la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
J'ai donnée à la colonne A1, B1 les étiquettes de colonnes Titre1 et
Titre2
Le combobox s'appelle Combobox1 et il est situé sur la feuil1 de même que
les données.
'------------------------------------
Sub RequêteExcel()
Dim bd As Database, Rst As Recordset, Rg As Range
Dim Requete As String
'définir la plage de cellule: Ne pas inclure la ligne d'étiquette de
colonne
With Worksheets("Feuil1")
.Range("A1:B" & .Range("A65356").End(xlUp).Row).Name = "NomColonne"
End With
'Ouvrir la base de données
Set bd = OpenDatabase(ThisWorkbook.FullName, False, False, "excel 8.0")
'Définir la requête formant le recordset
Requete = "SELECT titre1 From NomColonne " & vbCrLf & _
"Where Ucase(titre2) = 'OUI'" & vbCrLf & _
"Group By titre1 ORDER By titre1"
'Création du recordset
Set Rst = bd.OpenRecordset(Requete)
Rst.MoveLast
Rst.MoveFirst
'Initialistation du Combobox1 en Feuil1
Do Until Rst.EOF
Feuil1.ComboBox1.AddItem Rst(0)
Rst.MoveNext
Loop
'Élimination du NOM de la plage
ThisWorkbook.Names("NomColonne").Delete
Rst.Close 'ferme le recordset
bd.Close 'Ferme la base de données
'Libère la mémoire des objets
Set Rst = Nothing: Set bd = Nothing
End Sub
'------------------------------------
Salutations!
"pfval" a écrit dans le message de
news:
Bonjour,
J'arrive pas à faire la procédure suivante
des noms en colonne a, des "oui" et des "non" en colonne b
a b
toto oui
tata oui
titi non
pop oui
je voudrai faire apparaitre que les noms qui ont "oui" dans une listbox.
Qui va être mon sauveur ??
Merci en tout cas de vos réponses
Bonjour Pfval,
Une autre alternative....si ta liste est longue
1 ) n'affiche que les données répondant aux critères
1 ) trie par ordre alphabétique les données affichées dans le combobox
2 ) évite la présence des doublons le cas échéant
Pour ce faire, tu dois charger la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
J'ai donnée à la colonne A1, B1 les étiquettes de colonnes Titre1 et
Titre2
Le combobox s'appelle Combobox1 et il est situé sur la feuil1 de même que
les données.
'------------------------------------
Sub RequêteExcel()
Dim bd As Database, Rst As Recordset, Rg As Range
Dim Requete As String
'définir la plage de cellule: Ne pas inclure la ligne d'étiquette de
colonne
With Worksheets("Feuil1")
.Range("A1:B" & .Range("A65356").End(xlUp).Row).Name = "NomColonne"
End With
'Ouvrir la base de données
Set bd = OpenDatabase(ThisWorkbook.FullName, False, False, "excel 8.0")
'Définir la requête formant le recordset
Requete = "SELECT titre1 From NomColonne " & vbCrLf & _
"Where Ucase(titre2) = 'OUI'" & vbCrLf & _
"Group By titre1 ORDER By titre1"
'Création du recordset
Set Rst = bd.OpenRecordset(Requete)
Rst.MoveLast
Rst.MoveFirst
'Initialistation du Combobox1 en Feuil1
Do Until Rst.EOF
Feuil1.ComboBox1.AddItem Rst(0)
Rst.MoveNext
Loop
'Élimination du NOM de la plage
ThisWorkbook.Names("NomColonne").Delete
Rst.Close 'ferme le recordset
bd.Close 'Ferme la base de données
'Libère la mémoire des objets
Set Rst = Nothing: Set bd = Nothing
End Sub
'------------------------------------
Salutations!
"pfval" <pfval@wanadoo.fr> a écrit dans le message de
news:uv4sbk1hEHA.1972@TK2MSFTNGP09.phx.gbl...
Bonjour,
J'arrive pas à faire la procédure suivante
des noms en colonne a, des "oui" et des "non" en colonne b
a b
toto oui
tata oui
titi non
pop oui
je voudrai faire apparaitre que les noms qui ont "oui" dans une listbox.
Qui va être mon sauveur ??
Merci en tout cas de vos réponses
Bonjour Pfval,
Une autre alternative....si ta liste est longue
1 ) n'affiche que les données répondant aux critères
1 ) trie par ordre alphabétique les données affichées dans le combobox
2 ) évite la présence des doublons le cas échéant
Pour ce faire, tu dois charger la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
J'ai donnée à la colonne A1, B1 les étiquettes de colonnes Titre1 et
Titre2
Le combobox s'appelle Combobox1 et il est situé sur la feuil1 de même que
les données.
'------------------------------------
Sub RequêteExcel()
Dim bd As Database, Rst As Recordset, Rg As Range
Dim Requete As String
'définir la plage de cellule: Ne pas inclure la ligne d'étiquette de
colonne
With Worksheets("Feuil1")
.Range("A1:B" & .Range("A65356").End(xlUp).Row).Name = "NomColonne"
End With
'Ouvrir la base de données
Set bd = OpenDatabase(ThisWorkbook.FullName, False, False, "excel 8.0")
'Définir la requête formant le recordset
Requete = "SELECT titre1 From NomColonne " & vbCrLf & _
"Where Ucase(titre2) = 'OUI'" & vbCrLf & _
"Group By titre1 ORDER By titre1"
'Création du recordset
Set Rst = bd.OpenRecordset(Requete)
Rst.MoveLast
Rst.MoveFirst
'Initialistation du Combobox1 en Feuil1
Do Until Rst.EOF
Feuil1.ComboBox1.AddItem Rst(0)
Rst.MoveNext
Loop
'Élimination du NOM de la plage
ThisWorkbook.Names("NomColonne").Delete
Rst.Close 'ferme le recordset
bd.Close 'Ferme la base de données
'Libère la mémoire des objets
Set Rst = Nothing: Set bd = Nothing
End Sub
'------------------------------------
Salutations!
"pfval" a écrit dans le message de
news:
Bonjour,
J'arrive pas à faire la procédure suivante
des noms en colonne a, des "oui" et des "non" en colonne b
a b
toto oui
tata oui
titi non
pop oui
je voudrai faire apparaitre que les noms qui ont "oui" dans une listbox.
Qui va être mon sauveur ??
Merci en tout cas de vos réponses
bonjour pfval,
tu pourrais utiliser quelque chose comme ça à l'ouverture du classeur
ThisWorkbook.VBProject.References.AddFromFile ThisWorkbook.Path & _
"C:Program FilesFichiers communsMicrosoft SharedDAOdao360.dll"
en adaptant au chemin du réseau.
isabelle
Merci pour ta réponse mais le fichier .xls que je dois faire sera
installé
sur un serveur et plusieurs utilisateurs y auront accés , donc ma
question
est faudra t' il que j'installe "Microsoft DAO 3.6 objects librairy" sur
chacun des postes? Cela étant impossible, trop de postes
a +
"michdenis" a écrit dans le message de
news:%Bonjour Pfval,
Une autre alternative....si ta liste est longue
1 ) n'affiche que les données répondant aux critères
1 ) trie par ordre alphabétique les données affichées dans le combobox
2 ) évite la présence des doublons le cas échéant
Pour ce faire, tu dois charger la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
J'ai donnée à la colonne A1, B1 les étiquettes de colonnes Titre1 et
Titre2
Le combobox s'appelle Combobox1 et il est situé sur la feuil1 de même
que
les données.
'------------------------------------
Sub RequêteExcel()
Dim bd As Database, Rst As Recordset, Rg As Range
Dim Requete As String
'définir la plage de cellule: Ne pas inclure la ligne d'étiquette de
colonneWith Worksheets("Feuil1")
.Range("A1:B" & .Range("A65356").End(xlUp).Row).Name "NomColonne"
End With
'Ouvrir la base de données
Set bd = OpenDatabase(ThisWorkbook.FullName, False, False, "excel
8.0")
'Définir la requête formant le recordset
Requete = "SELECT titre1 From NomColonne " & vbCrLf & _
"Where Ucase(titre2) = 'OUI'" & vbCrLf & _
"Group By titre1 ORDER By titre1"
'Création du recordset
Set Rst = bd.OpenRecordset(Requete)
Rst.MoveLast
Rst.MoveFirst
'Initialistation du Combobox1 en Feuil1
Do Until Rst.EOF
Feuil1.ComboBox1.AddItem Rst(0)
Rst.MoveNext
Loop
'Élimination du NOM de la plage
ThisWorkbook.Names("NomColonne").Delete
Rst.Close 'ferme le recordset
bd.Close 'Ferme la base de données
'Libère la mémoire des objets
Set Rst = Nothing: Set bd = Nothing
End Sub
'------------------------------------
Salutations!
"pfval" a écrit dans le message de
news:Bonjour,
J'arrive pas à faire la procédure suivante
des noms en colonne a, des "oui" et des "non" en colonne b
a b
toto oui
tata oui
titi non
pop oui
je voudrai faire apparaitre que les noms qui ont "oui" dans une
listbox.
Qui va être mon sauveur ??
Merci en tout cas de vos réponses
bonjour pfval,
tu pourrais utiliser quelque chose comme ça à l'ouverture du classeur
ThisWorkbook.VBProject.References.AddFromFile ThisWorkbook.Path & _
"C:Program FilesFichiers communsMicrosoft SharedDAOdao360.dll"
en adaptant au chemin du réseau.
isabelle
Merci pour ta réponse mais le fichier .xls que je dois faire sera
installé
sur un serveur et plusieurs utilisateurs y auront accés , donc ma
question
est faudra t' il que j'installe "Microsoft DAO 3.6 objects librairy" sur
chacun des postes? Cela étant impossible, trop de postes
a +
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:%23wWMvk3hEHA.2764@TK2MSFTNGP11.phx.gbl...
Bonjour Pfval,
Une autre alternative....si ta liste est longue
1 ) n'affiche que les données répondant aux critères
1 ) trie par ordre alphabétique les données affichées dans le combobox
2 ) évite la présence des doublons le cas échéant
Pour ce faire, tu dois charger la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
J'ai donnée à la colonne A1, B1 les étiquettes de colonnes Titre1 et
Titre2
Le combobox s'appelle Combobox1 et il est situé sur la feuil1 de même
que
les données.
'------------------------------------
Sub RequêteExcel()
Dim bd As Database, Rst As Recordset, Rg As Range
Dim Requete As String
'définir la plage de cellule: Ne pas inclure la ligne d'étiquette de
colonne
With Worksheets("Feuil1")
.Range("A1:B" & .Range("A65356").End(xlUp).Row).Name "NomColonne"
End With
'Ouvrir la base de données
Set bd = OpenDatabase(ThisWorkbook.FullName, False, False, "excel
8.0")
'Définir la requête formant le recordset
Requete = "SELECT titre1 From NomColonne " & vbCrLf & _
"Where Ucase(titre2) = 'OUI'" & vbCrLf & _
"Group By titre1 ORDER By titre1"
'Création du recordset
Set Rst = bd.OpenRecordset(Requete)
Rst.MoveLast
Rst.MoveFirst
'Initialistation du Combobox1 en Feuil1
Do Until Rst.EOF
Feuil1.ComboBox1.AddItem Rst(0)
Rst.MoveNext
Loop
'Élimination du NOM de la plage
ThisWorkbook.Names("NomColonne").Delete
Rst.Close 'ferme le recordset
bd.Close 'Ferme la base de données
'Libère la mémoire des objets
Set Rst = Nothing: Set bd = Nothing
End Sub
'------------------------------------
Salutations!
"pfval" <pfval@wanadoo.fr> a écrit dans le message de
news:uv4sbk1hEHA.1972@TK2MSFTNGP09.phx.gbl...
Bonjour,
J'arrive pas à faire la procédure suivante
des noms en colonne a, des "oui" et des "non" en colonne b
a b
toto oui
tata oui
titi non
pop oui
je voudrai faire apparaitre que les noms qui ont "oui" dans une
listbox.
Qui va être mon sauveur ??
Merci en tout cas de vos réponses
bonjour pfval,
tu pourrais utiliser quelque chose comme ça à l'ouverture du classeur
ThisWorkbook.VBProject.References.AddFromFile ThisWorkbook.Path & _
"C:Program FilesFichiers communsMicrosoft SharedDAOdao360.dll"
en adaptant au chemin du réseau.
isabelle
Merci pour ta réponse mais le fichier .xls que je dois faire sera
installé
sur un serveur et plusieurs utilisateurs y auront accés , donc ma
question
est faudra t' il que j'installe "Microsoft DAO 3.6 objects librairy" sur
chacun des postes? Cela étant impossible, trop de postes
a +
"michdenis" a écrit dans le message de
news:%Bonjour Pfval,
Une autre alternative....si ta liste est longue
1 ) n'affiche que les données répondant aux critères
1 ) trie par ordre alphabétique les données affichées dans le combobox
2 ) évite la présence des doublons le cas échéant
Pour ce faire, tu dois charger la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
J'ai donnée à la colonne A1, B1 les étiquettes de colonnes Titre1 et
Titre2
Le combobox s'appelle Combobox1 et il est situé sur la feuil1 de même
que
les données.
'------------------------------------
Sub RequêteExcel()
Dim bd As Database, Rst As Recordset, Rg As Range
Dim Requete As String
'définir la plage de cellule: Ne pas inclure la ligne d'étiquette de
colonneWith Worksheets("Feuil1")
.Range("A1:B" & .Range("A65356").End(xlUp).Row).Name "NomColonne"
End With
'Ouvrir la base de données
Set bd = OpenDatabase(ThisWorkbook.FullName, False, False, "excel
8.0")
'Définir la requête formant le recordset
Requete = "SELECT titre1 From NomColonne " & vbCrLf & _
"Where Ucase(titre2) = 'OUI'" & vbCrLf & _
"Group By titre1 ORDER By titre1"
'Création du recordset
Set Rst = bd.OpenRecordset(Requete)
Rst.MoveLast
Rst.MoveFirst
'Initialistation du Combobox1 en Feuil1
Do Until Rst.EOF
Feuil1.ComboBox1.AddItem Rst(0)
Rst.MoveNext
Loop
'Élimination du NOM de la plage
ThisWorkbook.Names("NomColonne").Delete
Rst.Close 'ferme le recordset
bd.Close 'Ferme la base de données
'Libère la mémoire des objets
Set Rst = Nothing: Set bd = Nothing
End Sub
'------------------------------------
Salutations!
"pfval" a écrit dans le message de
news:Bonjour,
J'arrive pas à faire la procédure suivante
des noms en colonne a, des "oui" et des "non" en colonne b
a b
toto oui
tata oui
titi non
pop oui
je voudrai faire apparaitre que les noms qui ont "oui" dans une
listbox.
Qui va être mon sauveur ??
Merci en tout cas de vos réponses
bonjour pfval,
tu pourrais utiliser quelque chose comme ça à l'ouverture du classeur
ThisWorkbook.VBProject.References.AddFromFile ThisWorkbook.Path & _
"C:Program FilesFichiers communsMicrosoft SharedDAOdao360.dll"
en adaptant au chemin du réseau.
isabelle
Merci pour ta réponse mais le fichier .xls que je dois faire sera
installé
sur un serveur et plusieurs utilisateurs y auront accés , donc ma
question
est faudra t' il que j'installe "Microsoft DAO 3.6 objects librairy" sur
chacun des postes? Cela étant impossible, trop de postes
a +
"michdenis" a écrit dans le message de
news:%Bonjour Pfval,
Une autre alternative....si ta liste est longue
1 ) n'affiche que les données répondant aux critères
1 ) trie par ordre alphabétique les données affichées dans le combobox
2 ) évite la présence des doublons le cas échéant
Pour ce faire, tu dois charger la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
J'ai donnée à la colonne A1, B1 les étiquettes de colonnes Titre1 et
Titre2
Le combobox s'appelle Combobox1 et il est situé sur la feuil1 de même
que
les données.
'------------------------------------
Sub RequêteExcel()
Dim bd As Database, Rst As Recordset, Rg As Range
Dim Requete As String
'définir la plage de cellule: Ne pas inclure la ligne d'étiquette de
colonneWith Worksheets("Feuil1")
.Range("A1:B" & .Range("A65356").End(xlUp).Row).Name "NomColonne"
End With
'Ouvrir la base de données
Set bd = OpenDatabase(ThisWorkbook.FullName, False, False, "excel
8.0")
'Définir la requête formant le recordset
Requete = "SELECT titre1 From NomColonne " & vbCrLf & _
"Where Ucase(titre2) = 'OUI'" & vbCrLf & _
"Group By titre1 ORDER By titre1"
'Création du recordset
Set Rst = bd.OpenRecordset(Requete)
Rst.MoveLast
Rst.MoveFirst
'Initialistation du Combobox1 en Feuil1
Do Until Rst.EOF
Feuil1.ComboBox1.AddItem Rst(0)
Rst.MoveNext
Loop
'Élimination du NOM de la plage
ThisWorkbook.Names("NomColonne").Delete
Rst.Close 'ferme le recordset
bd.Close 'Ferme la base de données
'Libère la mémoire des objets
Set Rst = Nothing: Set bd = Nothing
End Sub
'------------------------------------
Salutations!
"pfval" a écrit dans le message de
news:Bonjour,
J'arrive pas à faire la procédure suivante
des noms en colonne a, des "oui" et des "non" en colonne b
a b
toto oui
tata oui
titi non
pop oui
je voudrai faire apparaitre que les noms qui ont "oui" dans une
listbox.
Qui va être mon sauveur ??
Merci en tout cas de vos réponses
bonjour pfval,
tu pourrais utiliser quelque chose comme ça à l'ouverture du classeur
ThisWorkbook.VBProject.References.AddFromFile ThisWorkbook.Path & _
"C:Program FilesFichiers communsMicrosoft SharedDAOdao360.dll"
en adaptant au chemin du réseau.
isabelle
Merci pour ta réponse mais le fichier .xls que je dois faire sera
installé
sur un serveur et plusieurs utilisateurs y auront accés , donc ma
question
est faudra t' il que j'installe "Microsoft DAO 3.6 objects librairy" sur
chacun des postes? Cela étant impossible, trop de postes
a +
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:%23wWMvk3hEHA.2764@TK2MSFTNGP11.phx.gbl...
Bonjour Pfval,
Une autre alternative....si ta liste est longue
1 ) n'affiche que les données répondant aux critères
1 ) trie par ordre alphabétique les données affichées dans le combobox
2 ) évite la présence des doublons le cas échéant
Pour ce faire, tu dois charger la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
J'ai donnée à la colonne A1, B1 les étiquettes de colonnes Titre1 et
Titre2
Le combobox s'appelle Combobox1 et il est situé sur la feuil1 de même
que
les données.
'------------------------------------
Sub RequêteExcel()
Dim bd As Database, Rst As Recordset, Rg As Range
Dim Requete As String
'définir la plage de cellule: Ne pas inclure la ligne d'étiquette de
colonne
With Worksheets("Feuil1")
.Range("A1:B" & .Range("A65356").End(xlUp).Row).Name "NomColonne"
End With
'Ouvrir la base de données
Set bd = OpenDatabase(ThisWorkbook.FullName, False, False, "excel
8.0")
'Définir la requête formant le recordset
Requete = "SELECT titre1 From NomColonne " & vbCrLf & _
"Where Ucase(titre2) = 'OUI'" & vbCrLf & _
"Group By titre1 ORDER By titre1"
'Création du recordset
Set Rst = bd.OpenRecordset(Requete)
Rst.MoveLast
Rst.MoveFirst
'Initialistation du Combobox1 en Feuil1
Do Until Rst.EOF
Feuil1.ComboBox1.AddItem Rst(0)
Rst.MoveNext
Loop
'Élimination du NOM de la plage
ThisWorkbook.Names("NomColonne").Delete
Rst.Close 'ferme le recordset
bd.Close 'Ferme la base de données
'Libère la mémoire des objets
Set Rst = Nothing: Set bd = Nothing
End Sub
'------------------------------------
Salutations!
"pfval" <pfval@wanadoo.fr> a écrit dans le message de
news:uv4sbk1hEHA.1972@TK2MSFTNGP09.phx.gbl...
Bonjour,
J'arrive pas à faire la procédure suivante
des noms en colonne a, des "oui" et des "non" en colonne b
a b
toto oui
tata oui
titi non
pop oui
je voudrai faire apparaitre que les noms qui ont "oui" dans une
listbox.
Qui va être mon sauveur ??
Merci en tout cas de vos réponses
bonjour pfval,
tu pourrais utiliser quelque chose comme ça à l'ouverture du classeur
ThisWorkbook.VBProject.References.AddFromFile ThisWorkbook.Path & _
"C:Program FilesFichiers communsMicrosoft SharedDAOdao360.dll"
en adaptant au chemin du réseau.
isabelle
Merci pour ta réponse mais le fichier .xls que je dois faire sera
installé
sur un serveur et plusieurs utilisateurs y auront accés , donc ma
question
est faudra t' il que j'installe "Microsoft DAO 3.6 objects librairy" sur
chacun des postes? Cela étant impossible, trop de postes
a +
"michdenis" a écrit dans le message de
news:%Bonjour Pfval,
Une autre alternative....si ta liste est longue
1 ) n'affiche que les données répondant aux critères
1 ) trie par ordre alphabétique les données affichées dans le combobox
2 ) évite la présence des doublons le cas échéant
Pour ce faire, tu dois charger la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
J'ai donnée à la colonne A1, B1 les étiquettes de colonnes Titre1 et
Titre2
Le combobox s'appelle Combobox1 et il est situé sur la feuil1 de même
que
les données.
'------------------------------------
Sub RequêteExcel()
Dim bd As Database, Rst As Recordset, Rg As Range
Dim Requete As String
'définir la plage de cellule: Ne pas inclure la ligne d'étiquette de
colonneWith Worksheets("Feuil1")
.Range("A1:B" & .Range("A65356").End(xlUp).Row).Name "NomColonne"
End With
'Ouvrir la base de données
Set bd = OpenDatabase(ThisWorkbook.FullName, False, False, "excel
8.0")
'Définir la requête formant le recordset
Requete = "SELECT titre1 From NomColonne " & vbCrLf & _
"Where Ucase(titre2) = 'OUI'" & vbCrLf & _
"Group By titre1 ORDER By titre1"
'Création du recordset
Set Rst = bd.OpenRecordset(Requete)
Rst.MoveLast
Rst.MoveFirst
'Initialistation du Combobox1 en Feuil1
Do Until Rst.EOF
Feuil1.ComboBox1.AddItem Rst(0)
Rst.MoveNext
Loop
'Élimination du NOM de la plage
ThisWorkbook.Names("NomColonne").Delete
Rst.Close 'ferme le recordset
bd.Close 'Ferme la base de données
'Libère la mémoire des objets
Set Rst = Nothing: Set bd = Nothing
End Sub
'------------------------------------
Salutations!
"pfval" a écrit dans le message de
news:Bonjour,
J'arrive pas à faire la procédure suivante
des noms en colonne a, des "oui" et des "non" en colonne b
a b
toto oui
tata oui
titi non
pop oui
je voudrai faire apparaitre que les noms qui ont "oui" dans une
listbox.
Qui va être mon sauveur ??
Merci en tout cas de vos réponses
Bonjour Pfval,
Si vous travaillez à partir d'une version excel 97, c'est la bibliothèque
"Microsoft DAO 3.5 objects librairy" qu'il faut
charger et probablement celle-ci : "Microsoft DAO 2.5/3.5 Compatibility
Librairy" ... comme je n'ai plus cette version
d'installée, je ne peux pas effectuer de tests.
Salutations!
"pfval" a écrit dans le message de
news:
bonjour isabelle
je vais essayer ta soluce de mettre le .ddl dans le même repertoire que le
fichier sur le serveur
car tout le monde est sur NT avec Excel 97.
AV m'a dépanné pour l'instant mais je risque effectivement d'avoir un
fichier qui va grossir, donc la procédure de michdenis sera peut être
mieux
?
En tout cas merci à tous
Pierre
"isabelle" a écrit dans le message de
news:bonjour pfval,
tu pourrais utiliser quelque chose comme ça à l'ouverture du classeur
ThisWorkbook.VBProject.References.AddFromFile ThisWorkbook.Path & _
"C:Program FilesFichiers communsMicrosoft SharedDAOdao360.dll"
en adaptant au chemin du réseau.
isabelle
Merci pour ta réponse mais le fichier .xls que je dois faire sera
installésur un serveur et plusieurs utilisateurs y auront accés , donc ma
questionest faudra t' il que j'installe "Microsoft DAO 3.6 objects librairy"
sur
chacun des postes? Cela étant impossible, trop de postes
a +
"michdenis" a écrit dans le message de
news:%Bonjour Pfval,
Une autre alternative....si ta liste est longue
1 ) n'affiche que les données répondant aux critères
1 ) trie par ordre alphabétique les données affichées dans le
combobox
2 ) évite la présence des doublons le cas échéant
Pour ce faire, tu dois charger la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
J'ai donnée à la colonne A1, B1 les étiquettes de colonnes Titre1 et
Titre2
Le combobox s'appelle Combobox1 et il est situé sur la feuil1 de
même
queles données.
'------------------------------------
Sub RequêteExcel()
Dim bd As Database, Rst As Recordset, Rg As Range
Dim Requete As String
'définir la plage de cellule: Ne pas inclure la ligne d'étiquette de
colonneWith Worksheets("Feuil1")
.Range("A1:B" & .Range("A65356").End(xlUp).Row).Name > "NomColonne"
End With
'Ouvrir la base de données
Set bd = OpenDatabase(ThisWorkbook.FullName, False, False, "excel
8.0")
'Définir la requête formant le recordset
Requete = "SELECT titre1 From NomColonne " & vbCrLf & _
"Where Ucase(titre2) = 'OUI'" & vbCrLf & _
"Group By titre1 ORDER By titre1"
'Création du recordset
Set Rst = bd.OpenRecordset(Requete)
Rst.MoveLast
Rst.MoveFirst
'Initialistation du Combobox1 en Feuil1
Do Until Rst.EOF
Feuil1.ComboBox1.AddItem Rst(0)
Rst.MoveNext
Loop
'Élimination du NOM de la plage
ThisWorkbook.Names("NomColonne").Delete
Rst.Close 'ferme le recordset
bd.Close 'Ferme la base de données
'Libère la mémoire des objets
Set Rst = Nothing: Set bd = Nothing
End Sub
'------------------------------------
Salutations!
"pfval" a écrit dans le message de
news:Bonjour,
J'arrive pas à faire la procédure suivante
des noms en colonne a, des "oui" et des "non" en colonne b
a b
toto oui
tata oui
titi non
pop oui
je voudrai faire apparaitre que les noms qui ont "oui" dans une
listbox.
Qui va être mon sauveur ??
Merci en tout cas de vos réponses
Bonjour Pfval,
Si vous travaillez à partir d'une version excel 97, c'est la bibliothèque
"Microsoft DAO 3.5 objects librairy" qu'il faut
charger et probablement celle-ci : "Microsoft DAO 2.5/3.5 Compatibility
Librairy" ... comme je n'ai plus cette version
d'installée, je ne peux pas effectuer de tests.
Salutations!
"pfval" <pfval@wanadoo.fr> a écrit dans le message de
news:ONAOdh5hEHA.1184@TK2MSFTNGP12.phx.gbl...
bonjour isabelle
je vais essayer ta soluce de mettre le .ddl dans le même repertoire que le
fichier sur le serveur
car tout le monde est sur NT avec Excel 97.
AV m'a dépanné pour l'instant mais je risque effectivement d'avoir un
fichier qui va grossir, donc la procédure de michdenis sera peut être
mieux
?
En tout cas merci à tous
Pierre
"isabelle" <as.isabellevIE@videotron.ca> a écrit dans le message de
news:41276C7D.B3B2EDAE@videotron.ca...
bonjour pfval,
tu pourrais utiliser quelque chose comme ça à l'ouverture du classeur
ThisWorkbook.VBProject.References.AddFromFile ThisWorkbook.Path & _
"C:Program FilesFichiers communsMicrosoft SharedDAOdao360.dll"
en adaptant au chemin du réseau.
isabelle
Merci pour ta réponse mais le fichier .xls que je dois faire sera
installé
sur un serveur et plusieurs utilisateurs y auront accés , donc ma
question
est faudra t' il que j'installe "Microsoft DAO 3.6 objects librairy"
sur
chacun des postes? Cela étant impossible, trop de postes
a +
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:%23wWMvk3hEHA.2764@TK2MSFTNGP11.phx.gbl...
Bonjour Pfval,
Une autre alternative....si ta liste est longue
1 ) n'affiche que les données répondant aux critères
1 ) trie par ordre alphabétique les données affichées dans le
combobox
2 ) évite la présence des doublons le cas échéant
Pour ce faire, tu dois charger la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
J'ai donnée à la colonne A1, B1 les étiquettes de colonnes Titre1 et
Titre2
Le combobox s'appelle Combobox1 et il est situé sur la feuil1 de
même
que
les données.
'------------------------------------
Sub RequêteExcel()
Dim bd As Database, Rst As Recordset, Rg As Range
Dim Requete As String
'définir la plage de cellule: Ne pas inclure la ligne d'étiquette de
colonne
With Worksheets("Feuil1")
.Range("A1:B" & .Range("A65356").End(xlUp).Row).Name > "NomColonne"
End With
'Ouvrir la base de données
Set bd = OpenDatabase(ThisWorkbook.FullName, False, False, "excel
8.0")
'Définir la requête formant le recordset
Requete = "SELECT titre1 From NomColonne " & vbCrLf & _
"Where Ucase(titre2) = 'OUI'" & vbCrLf & _
"Group By titre1 ORDER By titre1"
'Création du recordset
Set Rst = bd.OpenRecordset(Requete)
Rst.MoveLast
Rst.MoveFirst
'Initialistation du Combobox1 en Feuil1
Do Until Rst.EOF
Feuil1.ComboBox1.AddItem Rst(0)
Rst.MoveNext
Loop
'Élimination du NOM de la plage
ThisWorkbook.Names("NomColonne").Delete
Rst.Close 'ferme le recordset
bd.Close 'Ferme la base de données
'Libère la mémoire des objets
Set Rst = Nothing: Set bd = Nothing
End Sub
'------------------------------------
Salutations!
"pfval" <pfval@wanadoo.fr> a écrit dans le message de
news:uv4sbk1hEHA.1972@TK2MSFTNGP09.phx.gbl...
Bonjour,
J'arrive pas à faire la procédure suivante
des noms en colonne a, des "oui" et des "non" en colonne b
a b
toto oui
tata oui
titi non
pop oui
je voudrai faire apparaitre que les noms qui ont "oui" dans une
listbox.
Qui va être mon sauveur ??
Merci en tout cas de vos réponses
Bonjour Pfval,
Si vous travaillez à partir d'une version excel 97, c'est la bibliothèque
"Microsoft DAO 3.5 objects librairy" qu'il faut
charger et probablement celle-ci : "Microsoft DAO 2.5/3.5 Compatibility
Librairy" ... comme je n'ai plus cette version
d'installée, je ne peux pas effectuer de tests.
Salutations!
"pfval" a écrit dans le message de
news:
bonjour isabelle
je vais essayer ta soluce de mettre le .ddl dans le même repertoire que le
fichier sur le serveur
car tout le monde est sur NT avec Excel 97.
AV m'a dépanné pour l'instant mais je risque effectivement d'avoir un
fichier qui va grossir, donc la procédure de michdenis sera peut être
mieux
?
En tout cas merci à tous
Pierre
"isabelle" a écrit dans le message de
news:bonjour pfval,
tu pourrais utiliser quelque chose comme ça à l'ouverture du classeur
ThisWorkbook.VBProject.References.AddFromFile ThisWorkbook.Path & _
"C:Program FilesFichiers communsMicrosoft SharedDAOdao360.dll"
en adaptant au chemin du réseau.
isabelle
Merci pour ta réponse mais le fichier .xls que je dois faire sera
installésur un serveur et plusieurs utilisateurs y auront accés , donc ma
questionest faudra t' il que j'installe "Microsoft DAO 3.6 objects librairy"
sur
chacun des postes? Cela étant impossible, trop de postes
a +
"michdenis" a écrit dans le message de
news:%Bonjour Pfval,
Une autre alternative....si ta liste est longue
1 ) n'affiche que les données répondant aux critères
1 ) trie par ordre alphabétique les données affichées dans le
combobox
2 ) évite la présence des doublons le cas échéant
Pour ce faire, tu dois charger la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
J'ai donnée à la colonne A1, B1 les étiquettes de colonnes Titre1 et
Titre2
Le combobox s'appelle Combobox1 et il est situé sur la feuil1 de
même
queles données.
'------------------------------------
Sub RequêteExcel()
Dim bd As Database, Rst As Recordset, Rg As Range
Dim Requete As String
'définir la plage de cellule: Ne pas inclure la ligne d'étiquette de
colonneWith Worksheets("Feuil1")
.Range("A1:B" & .Range("A65356").End(xlUp).Row).Name > "NomColonne"
End With
'Ouvrir la base de données
Set bd = OpenDatabase(ThisWorkbook.FullName, False, False, "excel
8.0")
'Définir la requête formant le recordset
Requete = "SELECT titre1 From NomColonne " & vbCrLf & _
"Where Ucase(titre2) = 'OUI'" & vbCrLf & _
"Group By titre1 ORDER By titre1"
'Création du recordset
Set Rst = bd.OpenRecordset(Requete)
Rst.MoveLast
Rst.MoveFirst
'Initialistation du Combobox1 en Feuil1
Do Until Rst.EOF
Feuil1.ComboBox1.AddItem Rst(0)
Rst.MoveNext
Loop
'Élimination du NOM de la plage
ThisWorkbook.Names("NomColonne").Delete
Rst.Close 'ferme le recordset
bd.Close 'Ferme la base de données
'Libère la mémoire des objets
Set Rst = Nothing: Set bd = Nothing
End Sub
'------------------------------------
Salutations!
"pfval" a écrit dans le message de
news:Bonjour,
J'arrive pas à faire la procédure suivante
des noms en colonne a, des "oui" et des "non" en colonne b
a b
toto oui
tata oui
titi non
pop oui
je voudrai faire apparaitre que les noms qui ont "oui" dans une
listbox.
Qui va être mon sauveur ??
Merci en tout cas de vos réponses