Quand on fait un click droit sur une cellule, la boîte de dialogue propose
"une liste de choix..." correspondant au contenu de la colonne. Comment
programmer exactement la même chose en VBA sans passer par un combobox ou
une listbox ?
L'enregistreur de macro ne fonctionne pas dans ce cas là.
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
Jacky
Bonjour,
Données / validation >>liste ne convient pas ??
-- Salutations JJ
"M41" a écrit dans le message de news: 451e6625$0$5111$
Bonjour
Quand on fait un click droit sur une cellule, la boîte de dialogue propose "une liste de choix..." correspondant au contenu de la colonne. Comment programmer exactement la même chose en VBA sans passer par un combobox ou une listbox ? L'enregistreur de macro ne fonctionne pas dans ce cas là.
Même question pour un contenu de la ligne ?
Merci
M41
Bonjour,
Données / validation >>liste ne convient pas ??
--
Salutations
JJ
"M41" <boomerang.pro00@wanadoo.fr> a écrit dans le message de news:
451e6625$0$5111$ba4acef3@news.orange.fr...
Bonjour
Quand on fait un click droit sur une cellule, la boîte de dialogue propose
"une liste de choix..." correspondant au contenu de la colonne. Comment
programmer exactement la même chose en VBA sans passer par un combobox ou
une listbox ?
L'enregistreur de macro ne fonctionne pas dans ce cas là.
"M41" a écrit dans le message de news: 451e6625$0$5111$
Bonjour
Quand on fait un click droit sur une cellule, la boîte de dialogue propose "une liste de choix..." correspondant au contenu de la colonne. Comment programmer exactement la même chose en VBA sans passer par un combobox ou une listbox ? L'enregistreur de macro ne fonctionne pas dans ce cas là.
Même question pour un contenu de la ligne ?
Merci
M41
JB
Bonjour,
Sur clic/Droit, construit une liste triée sans doublons avec les valeurs de la colonne:
http://cjoint.com/?jEp0GFaDsc
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect([A1:D30], Target) Is Nothing And Target.Count = 1 Then Application.EnableEvents = True Dim temp ReDim temp(1 To 1) j = 0 Set champ = Range(Cells(1, Target.Column), Cells(65000, Target.Column).End(xlUp)) For Each c In champ If c <> "" Then If IsError(Application.Match(c, temp, 0)) Then j = j + 1 ReDim Preserve temp(1 To j) temp(j) = c End If End If Next c '---- tri For i = LBound(temp) To UBound(temp) For j = i To UBound(temp) If temp(j) < temp(i) Then Tempo = temp(j) temp(j) = temp(i) temp(i) = Tempo End If Next j Next i '-- temp2 = Join(temp, ",") On Error Resume Next Target.Validation.Delete Target.Validation.Add xlValidateList, AlertStyle:=xlValidAlertInformation, Formula1:=Left(temp2, 255) Cancel = True End If Application.EnableEvents = False End Sub
Cordialement JB
Bonjour
Quand on fait un click droit sur une cellule, la boîte de dialogue prop ose "une liste de choix..." correspondant au contenu de la colonne. Comment programmer exactement la même chose en VBA sans passer par un combobox ou une listbox ? L'enregistreur de macro ne fonctionne pas dans ce cas là.
Même question pour un contenu de la ligne ?
Merci
M41
Bonjour,
Sur clic/Droit, construit une liste triée sans doublons avec les
valeurs de la colonne:
http://cjoint.com/?jEp0GFaDsc
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)
If Not Intersect([A1:D30], Target) Is Nothing And Target.Count = 1
Then
Application.EnableEvents = True
Dim temp
ReDim temp(1 To 1)
j = 0
Set champ = Range(Cells(1, Target.Column), Cells(65000,
Target.Column).End(xlUp))
For Each c In champ
If c <> "" Then
If IsError(Application.Match(c, temp, 0)) Then
j = j + 1
ReDim Preserve temp(1 To j)
temp(j) = c
End If
End If
Next c
'---- tri
For i = LBound(temp) To UBound(temp)
For j = i To UBound(temp)
If temp(j) < temp(i) Then
Tempo = temp(j)
temp(j) = temp(i)
temp(i) = Tempo
End If
Next j
Next i
'--
temp2 = Join(temp, ",")
On Error Resume Next
Target.Validation.Delete
Target.Validation.Add xlValidateList,
AlertStyle:=xlValidAlertInformation, Formula1:=Left(temp2, 255)
Cancel = True
End If
Application.EnableEvents = False
End Sub
Cordialement JB
Bonjour
Quand on fait un click droit sur une cellule, la boîte de dialogue prop ose
"une liste de choix..." correspondant au contenu de la colonne. Comment
programmer exactement la même chose en VBA sans passer par un combobox ou
une listbox ?
L'enregistreur de macro ne fonctionne pas dans ce cas là.
Sur clic/Droit, construit une liste triée sans doublons avec les valeurs de la colonne:
http://cjoint.com/?jEp0GFaDsc
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect([A1:D30], Target) Is Nothing And Target.Count = 1 Then Application.EnableEvents = True Dim temp ReDim temp(1 To 1) j = 0 Set champ = Range(Cells(1, Target.Column), Cells(65000, Target.Column).End(xlUp)) For Each c In champ If c <> "" Then If IsError(Application.Match(c, temp, 0)) Then j = j + 1 ReDim Preserve temp(1 To j) temp(j) = c End If End If Next c '---- tri For i = LBound(temp) To UBound(temp) For j = i To UBound(temp) If temp(j) < temp(i) Then Tempo = temp(j) temp(j) = temp(i) temp(i) = Tempo End If Next j Next i '-- temp2 = Join(temp, ",") On Error Resume Next Target.Validation.Delete Target.Validation.Add xlValidateList, AlertStyle:=xlValidAlertInformation, Formula1:=Left(temp2, 255) Cancel = True End If Application.EnableEvents = False End Sub
Cordialement JB
Bonjour
Quand on fait un click droit sur une cellule, la boîte de dialogue prop ose "une liste de choix..." correspondant au contenu de la colonne. Comment programmer exactement la même chose en VBA sans passer par un combobox ou une listbox ? L'enregistreur de macro ne fonctionne pas dans ce cas là.
Même question pour un contenu de la ligne ?
Merci
M41
JB
http://cjoint.com/?jEqdBmLJnD
JB
Bonjour
Quand on fait un click droit sur une cellule, la boîte de dialogue prop ose "une liste de choix..." correspondant au contenu de la colonne. Comment programmer exactement la même chose en VBA sans passer par un combobox ou une listbox ? L'enregistreur de macro ne fonctionne pas dans ce cas là.
Même question pour un contenu de la ligne ?
Merci
M41
http://cjoint.com/?jEqdBmLJnD
JB
Bonjour
Quand on fait un click droit sur une cellule, la boîte de dialogue prop ose
"une liste de choix..." correspondant au contenu de la colonne. Comment
programmer exactement la même chose en VBA sans passer par un combobox ou
une listbox ?
L'enregistreur de macro ne fonctionne pas dans ce cas là.
Quand on fait un click droit sur une cellule, la boîte de dialogue prop ose "une liste de choix..." correspondant au contenu de la colonne. Comment programmer exactement la même chose en VBA sans passer par un combobox ou une listbox ? L'enregistreur de macro ne fonctionne pas dans ce cas là.
Même question pour un contenu de la ligne ?
Merci
M41
Patrick Penet
C'est le menu contextuel.
Exemple :
'Suppression des Barres de menu et Barres d 'outils Excel. Dim oCB As CommandBar For Each oCB In Application.CommandBars oCB.Enabled = False Next oCB
Dim CB As CommandBar Set CB = Application.CommandBars.Add("cbCMenu", msoBarPopup, , True)
Dim cc As CommandBarControl With CB
Set cc = .Controls.Add(msoControlButton, , , , True) cc.Caption = "&Tintin" cc.OnAction = "subTintin" cc.FaceId = 2773 cc.TooltipText = "Tintin"
Set cc = .Controls.Add(msoControlButton, , , , True) cc.Caption = "&Milou" cc.OnAction = "subMilou" cc.FaceId = 316 cc.BeginGroup = True '<===== nouvelle zone cc.TooltipText = "Ouah ! Ouah !"
"M41" a écrit dans le message de news: 451e6625$0$5111$
Bonjour
Quand on fait un click droit sur une cellule, la boîte de dialogue propose "une liste de choix..." correspondant au contenu de la colonne. Comment programmer exactement la même chose en VBA sans passer par un combobox ou une listbox ? L'enregistreur de macro ne fonctionne pas dans ce cas là.
Même question pour un contenu de la ligne ?
Merci
M41
C'est le menu contextuel.
Exemple :
'Suppression des Barres de menu et Barres d 'outils Excel.
Dim oCB As CommandBar
For Each oCB In Application.CommandBars
oCB.Enabled = False
Next oCB
Dim CB As CommandBar
Set CB = Application.CommandBars.Add("cbCMenu", msoBarPopup, , True)
Dim cc As CommandBarControl
With CB
Set cc = .Controls.Add(msoControlButton, , , , True)
cc.Caption = "&Tintin"
cc.OnAction = "subTintin"
cc.FaceId = 2773
cc.TooltipText = "Tintin"
Set cc = .Controls.Add(msoControlButton, , , , True)
cc.Caption = "&Milou"
cc.OnAction = "subMilou"
cc.FaceId = 316
cc.BeginGroup = True '<===== nouvelle zone
cc.TooltipText = "Ouah ! Ouah !"
"M41" <boomerang.pro00@wanadoo.fr> a écrit dans le message de news: 451e6625$0$5111$ba4acef3@news.orange.fr...
Bonjour
Quand on fait un click droit sur une cellule, la boîte de dialogue propose "une liste de choix..." correspondant au contenu de la
colonne. Comment programmer exactement la même chose en VBA sans passer par un combobox ou une listbox ?
L'enregistreur de macro ne fonctionne pas dans ce cas là.
"M41" a écrit dans le message de news: 451e6625$0$5111$
Bonjour
Quand on fait un click droit sur une cellule, la boîte de dialogue propose "une liste de choix..." correspondant au contenu de la colonne. Comment programmer exactement la même chose en VBA sans passer par un combobox ou une listbox ? L'enregistreur de macro ne fonctionne pas dans ce cas là.
Même question pour un contenu de la ligne ?
Merci
M41
M41
Bonsoir et merci M41
"M41" a écrit dans le message de news: 451e6625$0$5111$
Bonjour
Quand on fait un click droit sur une cellule, la boîte de dialogue propose "une liste de choix..." correspondant au contenu de la colonne. Comment programmer exactement la même chose en VBA sans passer par un combobox ou une listbox ? L'enregistreur de macro ne fonctionne pas dans ce cas là.
Même question pour un contenu de la ligne ?
Merci
M41
Bonsoir et merci
M41
"M41" <boomerang.pro00@wanadoo.fr> a écrit dans le message de news:
451e6625$0$5111$ba4acef3@news.orange.fr...
Bonjour
Quand on fait un click droit sur une cellule, la boîte de dialogue propose
"une liste de choix..." correspondant au contenu de la colonne. Comment
programmer exactement la même chose en VBA sans passer par un combobox ou
une listbox ?
L'enregistreur de macro ne fonctionne pas dans ce cas là.
"M41" a écrit dans le message de news: 451e6625$0$5111$
Bonjour
Quand on fait un click droit sur une cellule, la boîte de dialogue propose "une liste de choix..." correspondant au contenu de la colonne. Comment programmer exactement la même chose en VBA sans passer par un combobox ou une listbox ? L'enregistreur de macro ne fonctionne pas dans ce cas là.