Bonjour,
J'ai construit un tableau d'une 40aine de lignes, chaque ligne à une checkbox+macro.
Afin de ne pas multiplier les macros, je souhaiterai récupérer l'adresse de la checkbox, afin d'utiliser la même macro !
Pouvez vous m'aider la dessus ?
voici la macro utilisée:
Sub CheckBox1_Click()
'si boite active, alors copier le texte et le coller dans la premiere case vide
'de la feuille "liste sélectionner"
If ActiveSheet.Shapes(Application.Caller).ControlFormat.Value = 1 Then
Range("A2").Copy
Sheets("Liste sélectionnée").Select
ActiveSheet.Cells(Rows.Count, "A").End(xlUp)(2).Select
ActiveSheet.Paste
Sheets("Liste complète").Select
Application.CutCopyMode = False
'si boite non active, alors rechercher le texte de la case dans
'la feuille "liste sélectionner" et supprimer la ligne
Else
Sheets("Liste complète").Range("A2").Select
mot = Selection
Sheets("Liste sélectionnée").Select
Cells.Find(What:=mot, After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Rows("1:1").EntireRow.Delete
Sheets("Liste complète").Select
End If
End Sub
Merci d'avance
J'ai construit un tableau d'une 40aine de lignes, chaque ligne à une checkbox+macro.
Afin de ne pas multiplier les macros, je souhaiterai récupérer l'adresse de la checkbox, afin d'utiliser la même macro !
Pouvez vous m'aider la dessus ?
voici la macro utilisée:
Sub CheckBox1_Click()
'si boite active, alors copier le texte et le coller dans la premiere case vide
'de la feuille "liste sélectionner"
If ActiveSheet.Shapes(Application.Caller).ControlFormat.Value = 1 Then
Range("A2").Copy
Sheets("Liste sélectionnée").Select
ActiveSheet.Cells(Rows.Count, "A").End(xlUp)(2).Select
ActiveSheet.Paste
Sheets("Liste complète").Select
Application.CutCopyMode = False
'si boite non active, alors rechercher le texte de la case dans
'la feuille "liste sélectionner" et supprimer la ligne
Else
Sheets("Liste complète").Range("A2").Select
mot = Selection
Sheets("Liste sélectionnée").Select
Cells.Find(What:=mot, After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Rows("1:1").EntireRow.Delete
Sheets("Liste complète").Select
End If
End Sub
Merci d'avance