Bonjour,

A l'aide du code suivant j'arrive à insérer automatiquement des checkboxes (O/N) dans toutes les lignes existantes de la colonne N :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Sub AjoutCheckBox()
Dim cell As Range
Dim i As Integer
Dim j As Integer
 
i = ActiveSheet.UsedRange.Rows.Count 'nombre de lignes existantes
 
j = 3' ma première ligne à considérer est la 3éme
For Each cell In Range("N" & j & ":N" & i)
    With ActiveSheet.CheckBoxes.Add(cell.Left, _
       cell.Top, cell.Width, cell.Height)
       .LinkedCell = cell.Offset(, 1)
       .Name = "CheckBox_N_" & j
       .Caption = "O/N"
    End With
    j = j + 1
Next
Le problème est qu'à chaque exécution, des nouvelles checkboxes s'insèrent par dessus celles créées par les exécutions précédentes. J'aimerais donc être capable d'insérer des nouvelles checkboxes seulement dans les cellules n'en contenant pas pour ne pas écraser les anciennes. Voici le scénario classique :
1- Je crée 3 nouvelles lignes avec des données dans les autres colonnes (la colonne N est vide)
2- J’exécute ma Macro, les 3 checkbox s'insèrent automatiquement dans les lignes 3 à 6 (vu que ma première ligne de données est la 3éme)
3- J'insère une nouvelle ligne (manuellement, à l'aide des menus excel)
4- Je ré-exécute ma macro => Seulement une nouvelle checkbox s’insère dans la colonne 7N.
5- Ainsi de suite

Merci d'avance de votre aide.