TheLio
XLDnaute Accro
Bonjour à tous, Bonjour le forum,
Je suis loin d'être un expert en VBA, mais je m'essaie...
- Créer une boucle pour insérer des cases à cocher
- Faire en sorte que la case soit nommée avec le N° de ligne correspondant
Arriveriez vous à m'orienter et corriger mon bout de code ?
Dans mon classeur, cela commence à 4
Dans un classeur vide cela commence à 1
Merci d'avance pour vos lumières
@++
Lio
Je suis loin d'être un expert en VBA, mais je m'essaie...
- Créer une boucle pour insérer des cases à cocher
- Faire en sorte que la case soit nommée avec le N° de ligne correspondant
Arriveriez vous à m'orienter et corriger mon bout de code ?
VB:
Sub AjouterCasesACocher()
Dim ws As Worksheet
Set ws = ThisWorkbook.ActiveSheet
Dim cb As CheckBox
Dim rng As Range
Dim i As Long
Dim lineNumber As Long
' Boucle à travers les lignes 6 à 70
For i = 6 To 70
lineNumber = i ' Numérotation à partir de 6
' Définir la plage de cellules correspondante pour chaque ligne
Set rng = ws.Range("AG" & lineNumber)
' Ajouter la case à cocher dans la colonne AG de la ligne
Set cb = ws.CheckBoxes.Add(rng.Left, rng.Top, rng.Width, rng.Height)
' Renommer la case à cocher avec "ligne" suivi du numéro de ligne
cb.Name = "CheckBox_ligne" & lineNumber
' Lier la case à cocher à la cellule dans la colonne E de la ligne
cb.LinkedCell = ws.Cells(lineNumber, "E").Address
' Rendre la case à cocher non imprimable
cb.PrintObject = False
' Ajuster l'alignement vertical de la case à cocher
cb.Top = rng.Top + (rng.Height - cb.Height) / 2 + 1
' Ajuster l'alignement horizontal de la case à cocher
cb.Left = rng.Left + (rng.Width - cb.Width) / 2
Next i
End Sub
Dans mon classeur, cela commence à 4
Dans un classeur vide cela commence à 1
Merci d'avance pour vos lumières
@++
Lio