J'ai inventé une reference de cellule liée pour une case de contrôle de formulaire, .LinkedCell = Worksheets("sheet1").Range("D" & myCell.Row & "").Value
, qui ne sera malheureusement pas liée à la cellule spécifiée. Bien que la reference de la légende fonctionne. J'ai placé la macro entière ci-dessous:
Sub test() Dim myBox As CheckBox Dim myCell As Range Dim cellRange As Ssortingng With ActiveSheet For Each myCell In .Range("B10:B12").Cells With myCell Set myBox = .Parent.CheckBoxes.Add(Top:=.Top, Width:=.Width, Left:=.Left, Height:=.Height) With myBox .LinkedCell = Worksheets("sheet1").Range("D" & myCell.Row & "").Value .Caption = Worksheets("sheet1").Range("B" & myCell.Row & "").Value .Name = "checkbox_" & myCell.Address(0, 0) End With .NumberFormat = ";;;" End With Next myCell End With End Sub
J'ai essayé de faire reference à la cellule de cette façon également: .Range("sheet1!B" & myCell.Row).Value
. Cette méthode échoue complètement.
Vous avez besoin de l' .Address
et non .Value
. Essaye ça
.LinkedCell = Worksheets("sheet1").Range("D" & myCell.Row).Address
ou
.LinkedCell = ActiveSheet.Range("D" & myCell.Row).Address
Aussi, vous n'avez pas besoin du ""
après avoir spécifié la ligne. Alors "B" & myCell.Row & ""
peuvent être écrits comme "B" & myCell.Row