Bonsoir tout le monde
>
> Voici mon probleme
> Avec le code ci joint ,lorsque la liste est composée de "nombre" tout
> fonctionne sans le moindre souci mais
>
> lorsque la liste est composée de "texte" alors
> lorsque j'ai selectionnéuné une cellule(cellule A3 par exemple)
> que je lui attibue le second élément du menu déroulant ("bonjour" par
> exemple) alors ok
> mais lorsque je veux après avoir selectionné une autre cellule
> (b32 par exemple)ré-attribué directement après "bonjour" du menu déroulant
> alors je suis obligé de selectionné et attribué un autre élément ("salut"
> par exemple)du menu déroulant et après encore resélectionné le premier
> élément"bonjour".
>
> comment cela se fait il ?
> comment cela peut il etre resolu ??
> j'ai essayé en changeant le type de variable mais cela ne va pas
> voici le code que j'utilise
>
> Private Sub ComboBox1_Click()
> ActiveCell.Value = Me.ComboBox1.Value
> End Sub
> Private Sub ComboBox1_GotFocus()
> Dim Rg As Range, Tblo As Variant
> With Worksheets("Données")
> Set Rg = .Range("C26:C" & .Range("C7").End(xlUp).Row)
> Tblo = Rg
> End With
> Me.ComboBox1.List = Tblo
> End Sub
> en esperant avoir ete clair
> merci pour votre aide
>
> Andrée et Romuald
>
>
bonsoir pour ceux et celles qui seraient interessé, apres beaucoup de recherche a gauche et a droite voici le resultat qui me conviens le mieux
1 : sur la feuille concernée 'mise en place d'un titre dans le menu contextuel(clic droit de la souris)
Private Sub Worksheet_Activate()'activate car je ne veux que sur cette feuille la modification du menu contextuel With Application.CommandBars("cell").Controls.Add(msoControlButton) .Caption = " + ajout" End With For Each cmddroit In Application.CommandBars("cell").Controls If cmddroit.Type = msoControlComboBox Then cmddroit.Delete Next cmddroit Set myControl = CommandBars("cell").Controls.Add(Type:=msoControlComboBox, Before:%) With myControl For X = 1 To 25 .AddItem Text:Îlls(X, 3), Index:=X Next .ListIndex = 1 .DropDownLines = 6 .DropDownWidth = 75 .ListHeaderCount = 0 .Tag = "menutrois" .OnAction = "plusajout" End With End Sub Private Sub Worksheet_Deactivate()'meme explication que "activate" Application.CommandBars("Cell").Reset End Sub
2:sur un module separé
Sub plusajout() Dim troisbtn As CommandBarComboBox, strTxt As String Set troisbtn = CommandBars("cell").FindControl(, , "menutrois") strTxt = troisbtn.Text ActiveCell = ActiveCell + "" + strTxt End Sub
merci à JLuc pour son aide bonne soirée et bon W-E a tout le monde ANdrée et Romuald
"Andrée et Romuald" a écrit dans le message de news: eiE9$
Bonsoir tout le monde
Voici mon probleme Avec le code ci joint ,lorsque la liste est composée de "nombre" tout fonctionne sans le moindre souci mais
lorsque la liste est composée de "texte" alors lorsque j'ai selectionnéuné une cellule(cellule A3 par exemple) que je lui attibue le second élément du menu déroulant ("bonjour" par exemple) alors ok mais lorsque je veux après avoir selectionné une autre cellule (b32 par exemple)ré-attribué directement après "bonjour" du menu déroulant alors je suis obligé de selectionné et attribué un autre élément ("salut" par exemple)du menu déroulant et après encore resélectionné le premier élément"bonjour".
comment cela se fait il ? comment cela peut il etre resolu ?? j'ai essayé en changeant le type de variable mais cela ne va pas voici le code que j'utilise
Private Sub ComboBox1_Click() ActiveCell.Value = Me.ComboBox1.Value End Sub Private Sub ComboBox1_GotFocus() Dim Rg As Range, Tblo As Variant With Worksheets("Données") Set Rg = .Range("C26:C" & .Range("C7").End(xlUp).Row) Tblo = Rg End With Me.ComboBox1.List = Tblo End Sub en esperant avoir ete clair merci pour votre aide
Andrée et Romuald
bonsoir
pour ceux et celles qui seraient interessé,
apres beaucoup de recherche a gauche et a droite voici le resultat qui me
conviens le mieux
1 : sur la feuille concernée
'mise en place d'un titre dans le menu contextuel(clic droit de la souris)
Private Sub Worksheet_Activate()'activate car je ne veux que sur cette
feuille la modification du menu contextuel
With Application.CommandBars("cell").Controls.Add(msoControlButton)
.Caption = " + ajout"
End With
For Each cmddroit In Application.CommandBars("cell").Controls
If cmddroit.Type = msoControlComboBox Then cmddroit.Delete
Next cmddroit
Set myControl = CommandBars("cell").Controls.Add(Type:=msoControlComboBox,
Before:%)
With myControl
For X = 1 To 25
.AddItem Text:Îlls(X, 3), Index:=X
Next
.ListIndex = 1
.DropDownLines = 6
.DropDownWidth = 75
.ListHeaderCount = 0
.Tag = "menutrois"
.OnAction = "plusajout"
End With
End Sub
Private Sub Worksheet_Deactivate()'meme explication que "activate"
Application.CommandBars("Cell").Reset
End Sub
2:sur un module separé
Sub plusajout()
Dim troisbtn As CommandBarComboBox, strTxt As String
Set troisbtn = CommandBars("cell").FindControl(, , "menutrois")
strTxt = troisbtn.Text
ActiveCell = ActiveCell + "" + strTxt
End Sub
merci à JLuc pour son aide
bonne soirée et bon W-E a tout le monde
ANdrée et Romuald
"Andrée et Romuald" <fa289649@skynet.be> a écrit dans le message de news:
eiE9$tDeGHA.3888@TK2MSFTNGP04.phx.gbl...
Bonsoir tout le monde
Voici mon probleme
Avec le code ci joint ,lorsque la liste est composée de "nombre" tout
fonctionne sans le moindre souci mais
lorsque la liste est composée de "texte" alors
lorsque j'ai selectionnéuné une cellule(cellule A3 par
exemple)
que je lui attibue le second élément du menu déroulant ("bonjour" par
exemple) alors ok
mais lorsque je veux après avoir selectionné une autre cellule
(b32 par exemple)ré-attribué directement après "bonjour" du menu
déroulant
alors je suis obligé de selectionné et attribué un autre élément ("salut"
par exemple)du menu déroulant et après encore resélectionné le premier
élément"bonjour".
comment cela se fait il ?
comment cela peut il etre resolu ??
j'ai essayé en changeant le type de variable mais cela ne va pas
voici le code que j'utilise
Private Sub ComboBox1_Click()
ActiveCell.Value = Me.ComboBox1.Value
End Sub
Private Sub ComboBox1_GotFocus()
Dim Rg As Range, Tblo As Variant
With Worksheets("Données")
Set Rg = .Range("C26:C" & .Range("C7").End(xlUp).Row)
Tblo = Rg
End With
Me.ComboBox1.List = Tblo
End Sub
en esperant avoir ete clair
merci pour votre aide
bonsoir pour ceux et celles qui seraient interessé, apres beaucoup de recherche a gauche et a droite voici le resultat qui me conviens le mieux
1 : sur la feuille concernée 'mise en place d'un titre dans le menu contextuel(clic droit de la souris)
Private Sub Worksheet_Activate()'activate car je ne veux que sur cette feuille la modification du menu contextuel With Application.CommandBars("cell").Controls.Add(msoControlButton) .Caption = " + ajout" End With For Each cmddroit In Application.CommandBars("cell").Controls If cmddroit.Type = msoControlComboBox Then cmddroit.Delete Next cmddroit Set myControl = CommandBars("cell").Controls.Add(Type:=msoControlComboBox, Before:%) With myControl For X = 1 To 25 .AddItem Text:Îlls(X, 3), Index:=X Next .ListIndex = 1 .DropDownLines = 6 .DropDownWidth = 75 .ListHeaderCount = 0 .Tag = "menutrois" .OnAction = "plusajout" End With End Sub Private Sub Worksheet_Deactivate()'meme explication que "activate" Application.CommandBars("Cell").Reset End Sub
2:sur un module separé
Sub plusajout() Dim troisbtn As CommandBarComboBox, strTxt As String Set troisbtn = CommandBars("cell").FindControl(, , "menutrois") strTxt = troisbtn.Text ActiveCell = ActiveCell + "" + strTxt End Sub
merci à JLuc pour son aide bonne soirée et bon W-E a tout le monde ANdrée et Romuald
"Andrée et Romuald" a écrit dans le message de news: eiE9$
Bonsoir tout le monde
Voici mon probleme Avec le code ci joint ,lorsque la liste est composée de "nombre" tout fonctionne sans le moindre souci mais
lorsque la liste est composée de "texte" alors lorsque j'ai selectionnéuné une cellule(cellule A3 par exemple) que je lui attibue le second élément du menu déroulant ("bonjour" par exemple) alors ok mais lorsque je veux après avoir selectionné une autre cellule (b32 par exemple)ré-attribué directement après "bonjour" du menu déroulant alors je suis obligé de selectionné et attribué un autre élément ("salut" par exemple)du menu déroulant et après encore resélectionné le premier élément"bonjour".
comment cela se fait il ? comment cela peut il etre resolu ?? j'ai essayé en changeant le type de variable mais cela ne va pas voici le code que j'utilise
Private Sub ComboBox1_Click() ActiveCell.Value = Me.ComboBox1.Value End Sub Private Sub ComboBox1_GotFocus() Dim Rg As Range, Tblo As Variant With Worksheets("Données") Set Rg = .Range("C26:C" & .Range("C7").End(xlUp).Row) Tblo = Rg End With Me.ComboBox1.List = Tblo End Sub en esperant avoir ete clair merci pour votre aide