J’ai cette macro qui me liste les Œuvres dans une liste (ChoixOeuvre) d’un
Userform quand un musicien est cliqué dans la liste Choixnom ,
malheureusement si nous avons plusieurs versions de cette œuvre nous avons
dans la liste ChoixOeuvre des doublons comment corriger cette macro qui
marche
:
Private Sub Choixnom_Click() 'en cliquant sur un des compositeurs on obtient
la liste des oeuvres dispo
ligne = Sheets("BD").[A:A].Find(choixnom, LookIn:=xlValues).Row
majFiche
Set f = Sheets("BD")
Me.ChoixOeuvre.Clear
For Each c In f.Range("A2", f.[A65000].End(xlUp))
If c = Me.choixnom Then Me.ChoixOeuvre.AddItem c.Offset(0, 2) ‘ marche
mais avec doublons
' If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2).Value)
Then Me.ChoixOeuvre.AddItem c.Offset(0, 2) 'sans doublons ne marche pas
Next c
majFiche
End Sub
NB j’ai essayé également en vain :
If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2)) Then
Me.ChoixOeuvre.AddItem c.Offset(0, 2)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichDenis
Bonjour Jean-Paul,
Juste un exemple comment remplir un combobox ou listbox avec une liste située en Colonne A:A sans doublon.
'----------------------------------- Private Sub Choixnom_Click() Dim Rg As Range, C As Range Dim X As Object With Sheets("BD") ligne = .[A:A].Find(choixnom, LookIn:=xlValues).Row majFiche Me.ChoixOeuvre.Clear Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row) End With
'Pour remplir dans doublons le contrôle ChoixNom des données 'en colonnes a:a '------------------------ Set X = CreateObject("Scripting.Dictionary") For Each C In Rg If Not X.Exists(CStr(C.Value)) Then X.Add CStr(C), CStr(C) End If Next '-------------------------- 'Affecte au contrôle la liste trouvée Me.choixnom.List = Application.Transpose(X.Items) majFiche End Sub '-----------------------------------
"Jean-Paul V" a écrit dans le message de groupe de discussion : Bonjour à tous
J’ai cette macro qui me liste les Œuvres dans une liste (ChoixOeuvre) d’un Userform quand un musicien est cliqué dans la liste Choixnom , malheureusement si nous avons plusieurs versions de cette œuvre nous avons dans la liste ChoixOeuvre des doublons comment corriger cette macro qui marche : Private Sub Choixnom_Click() 'en cliquant sur un des compositeurs on obtient la liste des oeuvres dispo ligne = Sheets("BD").[A:A].Find(choixnom, LookIn:=xlValues).Row majFiche Set f = Sheets("BD") Me.ChoixOeuvre.Clear For Each c In f.Range("A2", f.[A65000].End(xlUp)) If c = Me.choixnom Then Me.ChoixOeuvre.AddItem c.Offset(0, 2) ‘ marche mais avec doublons ' If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2).Value) Then Me.ChoixOeuvre.AddItem c.Offset(0, 2) 'sans doublons ne marche pas Next c majFiche End Sub
NB j’ai essayé également en vain : If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2)) Then Me.ChoixOeuvre.AddItem c.Offset(0, 2)
A + j’espère
-- Jean-Paul V
Bonjour Jean-Paul,
Juste un exemple comment remplir un combobox ou listbox
avec une liste située en Colonne A:A sans doublon.
'-----------------------------------
Private Sub Choixnom_Click()
Dim Rg As Range, C As Range
Dim X As Object
With Sheets("BD")
ligne = .[A:A].Find(choixnom, LookIn:=xlValues).Row
majFiche
Me.ChoixOeuvre.Clear
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
'Pour remplir dans doublons le contrôle ChoixNom des données
'en colonnes a:a
'------------------------
Set X = CreateObject("Scripting.Dictionary")
For Each C In Rg
If Not X.Exists(CStr(C.Value)) Then
X.Add CStr(C), CStr(C)
End If
Next
'--------------------------
'Affecte au contrôle la liste trouvée
Me.choixnom.List = Application.Transpose(X.Items)
majFiche
End Sub
'-----------------------------------
"Jean-Paul V" <JeanPaulV@discussions.microsoft.com> a écrit dans le message de groupe de
discussion : 11CED993-E7F3-40A2-8874-C979815E0E23@microsoft.com...
Bonjour à tous
J’ai cette macro qui me liste les Œuvres dans une liste (ChoixOeuvre) d’un
Userform quand un musicien est cliqué dans la liste Choixnom ,
malheureusement si nous avons plusieurs versions de cette œuvre nous avons
dans la liste ChoixOeuvre des doublons comment corriger cette macro qui
marche
:
Private Sub Choixnom_Click() 'en cliquant sur un des compositeurs on obtient
la liste des oeuvres dispo
ligne = Sheets("BD").[A:A].Find(choixnom, LookIn:=xlValues).Row
majFiche
Set f = Sheets("BD")
Me.ChoixOeuvre.Clear
For Each c In f.Range("A2", f.[A65000].End(xlUp))
If c = Me.choixnom Then Me.ChoixOeuvre.AddItem c.Offset(0, 2) ‘ marche
mais avec doublons
' If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2).Value)
Then Me.ChoixOeuvre.AddItem c.Offset(0, 2) 'sans doublons ne marche pas
Next c
majFiche
End Sub
NB j’ai essayé également en vain :
If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2)) Then
Me.ChoixOeuvre.AddItem c.Offset(0, 2)
Juste un exemple comment remplir un combobox ou listbox avec une liste située en Colonne A:A sans doublon.
'----------------------------------- Private Sub Choixnom_Click() Dim Rg As Range, C As Range Dim X As Object With Sheets("BD") ligne = .[A:A].Find(choixnom, LookIn:=xlValues).Row majFiche Me.ChoixOeuvre.Clear Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row) End With
'Pour remplir dans doublons le contrôle ChoixNom des données 'en colonnes a:a '------------------------ Set X = CreateObject("Scripting.Dictionary") For Each C In Rg If Not X.Exists(CStr(C.Value)) Then X.Add CStr(C), CStr(C) End If Next '-------------------------- 'Affecte au contrôle la liste trouvée Me.choixnom.List = Application.Transpose(X.Items) majFiche End Sub '-----------------------------------
"Jean-Paul V" a écrit dans le message de groupe de discussion : Bonjour à tous
J’ai cette macro qui me liste les Œuvres dans une liste (ChoixOeuvre) d’un Userform quand un musicien est cliqué dans la liste Choixnom , malheureusement si nous avons plusieurs versions de cette œuvre nous avons dans la liste ChoixOeuvre des doublons comment corriger cette macro qui marche : Private Sub Choixnom_Click() 'en cliquant sur un des compositeurs on obtient la liste des oeuvres dispo ligne = Sheets("BD").[A:A].Find(choixnom, LookIn:=xlValues).Row majFiche Set f = Sheets("BD") Me.ChoixOeuvre.Clear For Each c In f.Range("A2", f.[A65000].End(xlUp)) If c = Me.choixnom Then Me.ChoixOeuvre.AddItem c.Offset(0, 2) ‘ marche mais avec doublons ' If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2).Value) Then Me.ChoixOeuvre.AddItem c.Offset(0, 2) 'sans doublons ne marche pas Next c majFiche End Sub
NB j’ai essayé également en vain : If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2)) Then Me.ChoixOeuvre.AddItem c.Offset(0, 2)
A + j’espère
-- Jean-Paul V
Jean-Paul V
Bonjour MichDenis
Merci pour vos indications, j'ai pu éviter les doublons sur les Oeuvres lorsque l'on a fait le choix d'un nom . Car lorsque l'on est mélomane on peut avoir plusieurs interprétations d'une oeuvre -- Jean-Paul V
"MichDenis" wrote:
Bonjour Jean-Paul,
Juste un exemple comment remplir un combobox ou listbox avec une liste située en Colonne A:A sans doublon.
'----------------------------------- Private Sub Choixnom_Click() Dim Rg As Range, C As Range Dim X As Object With Sheets("BD") ligne = .[A:A].Find(choixnom, LookIn:=xlValues).Row majFiche Me.ChoixOeuvre.Clear Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row) End With
'Pour remplir dans doublons le contrôle ChoixNom des données 'en colonnes a:a '------------------------ Set X = CreateObject("Scripting.Dictionary") For Each C In Rg If Not X.Exists(CStr(C.Value)) Then X.Add CStr(C), CStr(C) End If Next '-------------------------- 'Affecte au contrôle la liste trouvée Me.choixnom.List = Application.Transpose(X.Items) majFiche End Sub '-----------------------------------
"Jean-Paul V" a écrit dans le message de groupe de discussion : Bonjour à tous
J’ai cette macro qui me liste les Œuvres dans une liste (ChoixOeuvre) d’un Userform quand un musicien est cliqué dans la liste Choixnom , malheureusement si nous avons plusieurs versions de cette œuvre nous avons dans la liste ChoixOeuvre des doublons comment corriger cette macro qui marche : Private Sub Choixnom_Click() 'en cliquant sur un des compositeurs on obtient la liste des oeuvres dispo ligne = Sheets("BD").[A:A].Find(choixnom, LookIn:=xlValues).Row majFiche Set f = Sheets("BD") Me.ChoixOeuvre.Clear For Each c In f.Range("A2", f.[A65000].End(xlUp)) If c = Me.choixnom Then Me.ChoixOeuvre.AddItem c.Offset(0, 2) ‘ marche mais avec doublons ' If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2).Value) Then Me.ChoixOeuvre.AddItem c.Offset(0, 2) 'sans doublons ne marche pas Next c majFiche End Sub
NB j’ai essayé également en vain : If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2)) Then Me.ChoixOeuvre.AddItem c.Offset(0, 2)
A + j’espère
-- Jean-Paul V
Bonjour MichDenis
Merci pour vos indications, j'ai pu éviter les doublons sur les Oeuvres
lorsque l'on a fait le choix d'un nom . Car lorsque l'on est mélomane on peut
avoir plusieurs interprétations d'une oeuvre
--
Jean-Paul V
"MichDenis" wrote:
Bonjour Jean-Paul,
Juste un exemple comment remplir un combobox ou listbox
avec une liste située en Colonne A:A sans doublon.
'-----------------------------------
Private Sub Choixnom_Click()
Dim Rg As Range, C As Range
Dim X As Object
With Sheets("BD")
ligne = .[A:A].Find(choixnom, LookIn:=xlValues).Row
majFiche
Me.ChoixOeuvre.Clear
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
'Pour remplir dans doublons le contrôle ChoixNom des données
'en colonnes a:a
'------------------------
Set X = CreateObject("Scripting.Dictionary")
For Each C In Rg
If Not X.Exists(CStr(C.Value)) Then
X.Add CStr(C), CStr(C)
End If
Next
'--------------------------
'Affecte au contrôle la liste trouvée
Me.choixnom.List = Application.Transpose(X.Items)
majFiche
End Sub
'-----------------------------------
"Jean-Paul V" <JeanPaulV@discussions.microsoft.com> a écrit dans le message de groupe de
discussion : 11CED993-E7F3-40A2-8874-C979815E0E23@microsoft.com...
Bonjour à tous
J’ai cette macro qui me liste les Œuvres dans une liste (ChoixOeuvre) d’un
Userform quand un musicien est cliqué dans la liste Choixnom ,
malheureusement si nous avons plusieurs versions de cette œuvre nous avons
dans la liste ChoixOeuvre des doublons comment corriger cette macro qui
marche
:
Private Sub Choixnom_Click() 'en cliquant sur un des compositeurs on obtient
la liste des oeuvres dispo
ligne = Sheets("BD").[A:A].Find(choixnom, LookIn:=xlValues).Row
majFiche
Set f = Sheets("BD")
Me.ChoixOeuvre.Clear
For Each c In f.Range("A2", f.[A65000].End(xlUp))
If c = Me.choixnom Then Me.ChoixOeuvre.AddItem c.Offset(0, 2) ‘ marche
mais avec doublons
' If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2).Value)
Then Me.ChoixOeuvre.AddItem c.Offset(0, 2) 'sans doublons ne marche pas
Next c
majFiche
End Sub
NB j’ai essayé également en vain :
If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2)) Then
Me.ChoixOeuvre.AddItem c.Offset(0, 2)
Merci pour vos indications, j'ai pu éviter les doublons sur les Oeuvres lorsque l'on a fait le choix d'un nom . Car lorsque l'on est mélomane on peut avoir plusieurs interprétations d'une oeuvre -- Jean-Paul V
"MichDenis" wrote:
Bonjour Jean-Paul,
Juste un exemple comment remplir un combobox ou listbox avec une liste située en Colonne A:A sans doublon.
'----------------------------------- Private Sub Choixnom_Click() Dim Rg As Range, C As Range Dim X As Object With Sheets("BD") ligne = .[A:A].Find(choixnom, LookIn:=xlValues).Row majFiche Me.ChoixOeuvre.Clear Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row) End With
'Pour remplir dans doublons le contrôle ChoixNom des données 'en colonnes a:a '------------------------ Set X = CreateObject("Scripting.Dictionary") For Each C In Rg If Not X.Exists(CStr(C.Value)) Then X.Add CStr(C), CStr(C) End If Next '-------------------------- 'Affecte au contrôle la liste trouvée Me.choixnom.List = Application.Transpose(X.Items) majFiche End Sub '-----------------------------------
"Jean-Paul V" a écrit dans le message de groupe de discussion : Bonjour à tous
J’ai cette macro qui me liste les Œuvres dans une liste (ChoixOeuvre) d’un Userform quand un musicien est cliqué dans la liste Choixnom , malheureusement si nous avons plusieurs versions de cette œuvre nous avons dans la liste ChoixOeuvre des doublons comment corriger cette macro qui marche : Private Sub Choixnom_Click() 'en cliquant sur un des compositeurs on obtient la liste des oeuvres dispo ligne = Sheets("BD").[A:A].Find(choixnom, LookIn:=xlValues).Row majFiche Set f = Sheets("BD") Me.ChoixOeuvre.Clear For Each c In f.Range("A2", f.[A65000].End(xlUp)) If c = Me.choixnom Then Me.ChoixOeuvre.AddItem c.Offset(0, 2) ‘ marche mais avec doublons ' If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2).Value) Then Me.ChoixOeuvre.AddItem c.Offset(0, 2) 'sans doublons ne marche pas Next c majFiche End Sub
NB j’ai essayé également en vain : If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2)) Then Me.ChoixOeuvre.AddItem c.Offset(0, 2)
Jai cette macro qui me liste les uvres dans une liste (ChoixOeuvre) dun Userform quand un musicien est cliqué dans la liste Choixnom , malheureusement si nous avons plusieurs versions de cette uvre nous av ons dans la liste ChoixOeuvre des doublons comment corriger cette macro qui marche : Private Sub Choixnom_Click() 'en cliquant sur un des compositeurs on obti ent la liste des oeuvres dispo ligne = Sheets("BD").[A:A].Find(choixnom, LookIn:=xlValues).Ro w majFiche Set f = Sheets("BD") Me.ChoixOeuvre.Clear For Each c In f.Range("A2", f.[A65000].End(xlUp)) If c = Me.choixnom Then Me.ChoixOeuvre.AddItem c.Offset(0, 2 ) marche mais avec doublons ' If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2).Value) Then Me.ChoixOeuvre.AddItem c.Offset(0, 2) 'sans doublons ne marche pas Next c majFiche End Sub
NB jai essayé également en vain : If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2)) Then Me.ChoixOeuvre.AddItem c.Offset(0, 2)
On 25 juin, 09:44, Jean-Paul V <JeanPa...@discussions.microsoft.com>
wrote:
Bonjour à tous
Jai cette macro qui me liste les uvres dans une liste (ChoixOeuvre) dun
Userform quand un musicien est cliqué dans la liste Choixnom ,
malheureusement si nous avons plusieurs versions de cette uvre nous av ons
dans la liste ChoixOeuvre des doublons comment corriger cette macro qui
marche
:
Private Sub Choixnom_Click() 'en cliquant sur un des compositeurs on obti ent
la liste des oeuvres dispo
ligne = Sheets("BD").[A:A].Find(choixnom, LookIn:=xlValues).Ro w
majFiche
Set f = Sheets("BD")
Me.ChoixOeuvre.Clear
For Each c In f.Range("A2", f.[A65000].End(xlUp))
If c = Me.choixnom Then Me.ChoixOeuvre.AddItem c.Offset(0, 2 ) marche
mais avec doublons
' If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2).Value)
Then Me.ChoixOeuvre.AddItem c.Offset(0, 2) 'sans doublons ne marche pas
Next c
majFiche
End Sub
NB jai essayé également en vain :
If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2)) Then
Me.ChoixOeuvre.AddItem c.Offset(0, 2)
Jai cette macro qui me liste les uvres dans une liste (ChoixOeuvre) dun Userform quand un musicien est cliqué dans la liste Choixnom , malheureusement si nous avons plusieurs versions de cette uvre nous av ons dans la liste ChoixOeuvre des doublons comment corriger cette macro qui marche : Private Sub Choixnom_Click() 'en cliquant sur un des compositeurs on obti ent la liste des oeuvres dispo ligne = Sheets("BD").[A:A].Find(choixnom, LookIn:=xlValues).Ro w majFiche Set f = Sheets("BD") Me.ChoixOeuvre.Clear For Each c In f.Range("A2", f.[A65000].End(xlUp)) If c = Me.choixnom Then Me.ChoixOeuvre.AddItem c.Offset(0, 2 ) marche mais avec doublons ' If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2).Value) Then Me.ChoixOeuvre.AddItem c.Offset(0, 2) 'sans doublons ne marche pas Next c majFiche End Sub
NB jai essayé également en vain : If c = Me.choixnom And Not ChoixOeuvre.Exists(c.Offset(0, 2)) Then Me.ChoixOeuvre.AddItem c.Offset(0, 2)