Programme tout fait et adaptable
Voilà je partage le code que j'ai fait qui s'adapte à tous.
4 MsgBox pour entrer les coordonnées de la première et de la dernière cellule à remplir.
Ensuite ça roule tout seul !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| Sub remplir_tableau_checkbox()
'
' Macro permettant de remplir un tableau avec des case à cocher
'
'
Dim numli As Integer
Dim numcol As Integer
Dim firstrow As Integer
Dim firstcolumn As Integer
Dim lastrow As Integer
Dim lastcolumn As Integer
'4 boîte de dialogue pour déterminer les limites du tableau
firstrow = InputBox("N°Ligne de la première cellule à remplir")
firstcolumn = InputBox("N°Colonne de la première cellule à remplir")
lastrow = InputBox("N°Ligne de la dernière cellule à remplir")
lastcolumn = InputBox("N°Colonne de la dernière cellule à remplir")
numli = firstrow 'Initialisation numéro de ligne
While numli <= lastrow
' Boucle while tourne pour parcourir les lignes
numcol = firstcolumn 'Initialisation numéro de colonne
While numcol <= lastcolumn
' Boucle while tourne pour parcourir les colonnes
Dim top As Double 'Décalaration de la position verticale
Dim left As Double 'Décalaration de la position horizontale
Cells(numli, numcol).Select
top = Selection.top 'Affectation valeur position horizontale de la cellule sellectionnée
left = Selection.left 'Affectation valeur position verticale de la cellule sellectionnée
largeur = Selection.width ' Affectation largeur cellule
hauteur = Selection.height ' Affectation hauteur cellule
ActiveSheet.CheckBoxes.Add(left, top, largeur, hauteur).Select 'Création et sélection de la checkbox avec les coordonnées et propriétés de la cellules
With Selection
.Value = xlOff
.Display3DShading = False 'Pas 3D
.Characters.Text = "" 'Pas de texte à afficher
.LinkedCell = Cells(numli, numcol).Address 'Association de la cellule du tableau à la checkbox
End With
numcol = numcol + 1 'Boucler colonnes
Wend
numli = numli + 1 'Boucler lignes
Wend
End Sub |