Bonjour à tous,

J'ai créer un userform avec des checkbox et qui incrémente les cellules de toute une colonne (la colonne X)

Toutefois, j'aimerais que lorsque je doubleclique sur X234 (ou une autre cellule de la colonne X) pour initialiser mon userform, la ligne de la celulle ou j'ai cliquer soit prise en compte et prise pour cible pour les modifications apportées par les checkbox.

Quelqu'un peut-il m'aider?

Voici le code de la feuille :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 23 Then UserForm1.Show
End Sub
Voici le code d'initialisation du userform :
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
19
20
21
22
23
Private Sub UserForm_Initialize()
Dim i As Integer
 
' Initialise le tableau et la première ligne
ReDim tabl(1000) As String
ligne = Range("X" & i).Row
 
' vide la colonne X
For i = ligne To Range("X65536").End(xlUp).Row
    Range("x" & i).Clear
Next
 
Label1.Caption = ligne
 
Label3.Caption = Range("g" & ligne).Value
 
Label4.Caption = Range("h" & ligne).Value
 
Label5.Caption = Range("i" & ligne).Value
 
UserForm1.Caption = Range("d" & ligne).Value & " - " & Range("x" & ligne).Value
 
End Sub

Pour vous donner toutes les infos dont vous pourriez avoir besoin, voilà le code en haut du userform :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Option Explicit
 
Dim tabl() As String
Dim ligne As Integer
Et celui d'une checkbox :
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
19
20
21
22
Private Sub CheckBox1_Change()
Dim i As Integer
Dim variable As String
 
 
Range("X" & ligne).Clear
 
If CheckBox1.Value = True Then
    tabl(1) = "2339, "
Else
    tabl(1) = ""
End If
 
For i = 1 To 1000
    variable = variable & tabl(i)
Next
 
Range("X" & ligne).Value = variable
 
UserForm1.Caption = Range("d" & ligne).Value & " - " & Range("x" & ligne).Value
 
End Sub

Merci d'avance !
David