VBA - Adicionar o ComboBox e seu código.

Faça uma pergunta

Código relativamente simples e que não precisa de explicação complementar.
Colar esses dois "sub" em um módulo geral (Módulo 1, por exemplo).

Option Explicit  

Sub CréerCombo(Ligar As Range, Optional Sh As Worksheet, Optional Emplacement As Range)  
Dim Obj As Object  
Dim code As String  
Dim Ix As Integer, Num As String  
    If Sh Is Nothing Then  
        Set Sh = ActiveSheet  
    End If  
    Sh.Select  
    Ix = ActiveSheet.OLEObjects.Count + 1  
    Num = "0" & Ix: Num = Right(Num, 2) 'Pour jusque 99 boutons  
    If Emplacement Is Nothing Then  
        'localização padrão  
        Set Emplacement = ActiveCell  
    End If  
'criar o botão  
    With Emplacement  
    Set Obj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.Combobox.1", _  
    Link:=False, DisplayAsIcon:=False, Left:=.Left, Top:=.Top, Width:=.ColumnWidth * 5.65, Height:=.RowHeight)  
    Obj.Name = "ComboB_" & Num  
    End With  

'propriedades do combo  
    With ActiveSheet.OLEObjects(Ix)  
        .Placement = xlMoveAndSize  
        .PrintObject = True  
        .ListFillRange = Lier.Address  
    End With  

'O texto do macro  
    code = vbCrLf & "Private Sub ComboB_" & Num & "_Change()" & vbCrLf  
    code = code & "    MsgBox ""Vous avez sélectionner la ligne "" & ComboB_" & Num & ".Text , ,""ComboB_" & Num & """" & vbCrLf  
    code = code & "End Sub"  

'Adicione o macro no final do módulo da planilha  
    With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule  
        .insertlines .CountOfLines + 1, code  
    End With  
End Sub  


Baixe m exemplo no Excel 2007 ou >
Adicionar Combo et código.xlsm (em francês)



Jean-François Pillou

Nosso conteúdo é produzido em colaboração com especialistas em tecnologia da informação sob o comando de Jean-François Pillou, fundador do CCM.net e diretor digital do Grupo Figaro. CCM é um site sobre tecnologia líder em nível internacional e está disponível em 11 idiomas.

Mais informações sobre a equipe do CCM