Bonjour à tous !
Je cherche à automatiser sur 126 lignes la création d'une checkbox dans la la colonne E.
Ensuite, je veux lier cette checkbox à la cellule correspondante.
Dans le principe ça fonctionne, mais je me retrouve embêtée car plus on avance dans les lignes, plus les les checkboxes se décalent par rapport à leur position supposée....
Je ne comprends pas puisque leur position est sensée être fixée par rapport à la cellule dans laquelle elles se trouvent (définition du T dépend de l'itération).
Le T en question est sensé être la position de la checkbox par rapport au haut de la page.
Je me demandais s'il était possible de positionner la checkbox par rapport à la cellule plutôt que par rapport à la page, ça me permettrait d'être sure que la checkbox sera toujours au bon endroit, même si la hauteur des lignes est modifiée.
Voilà mon code (j'ai mis en pièce jointe une photo du décalage progressif des lignes):
Sub Creercheckbox()
'Définition des variables
Dim i As Byte
Dim L As Integer, T As Integer, W As Integer, H As Integer
'Début de la boucle
For i = 2 To 126
L = Range("E" & i).Left
T = Range("E" & i).Top
W = Range("E" & i).Width
H = Range("E" & i).Height
'Création et définition de la chbx
ActiveSheet.CheckBoxes.Add(L, T, W, H).Select
Selection.Characters.Text = ""
'Liaison de la checkbox à sa cellule
Selection.LinkedCell = Cells(i, "E").Address
Next
End Sub
Je vous remercie pour votre aide !
Elsa
Je cherche à automatiser sur 126 lignes la création d'une checkbox dans la la colonne E.
Ensuite, je veux lier cette checkbox à la cellule correspondante.
Dans le principe ça fonctionne, mais je me retrouve embêtée car plus on avance dans les lignes, plus les les checkboxes se décalent par rapport à leur position supposée....
Je ne comprends pas puisque leur position est sensée être fixée par rapport à la cellule dans laquelle elles se trouvent (définition du T dépend de l'itération).
Le T en question est sensé être la position de la checkbox par rapport au haut de la page.
Je me demandais s'il était possible de positionner la checkbox par rapport à la cellule plutôt que par rapport à la page, ça me permettrait d'être sure que la checkbox sera toujours au bon endroit, même si la hauteur des lignes est modifiée.
Voilà mon code (j'ai mis en pièce jointe une photo du décalage progressif des lignes):
Sub Creercheckbox()
'Définition des variables
Dim i As Byte
Dim L As Integer, T As Integer, W As Integer, H As Integer
'Début de la boucle
For i = 2 To 126
L = Range("E" & i).Left
T = Range("E" & i).Top
W = Range("E" & i).Width
H = Range("E" & i).Height
'Création et définition de la chbx
ActiveSheet.CheckBoxes.Add(L, T, W, H).Select
Selection.Characters.Text = ""
'Liaison de la checkbox à sa cellule
Selection.LinkedCell = Cells(i, "E").Address
Next
End Sub
Je vous remercie pour votre aide !
Elsa