Super merci encore une fois Dan !
Avec une petite modification, cela fonctionne comme je le souhaite.
J'en demande peut être beaucoup, mais la fonction que je tente de mettre en place à de nombreuses variantes.
J'ai en effet 72 checkbox qui fonctionnent sur le même principe.
Pour la checkbox A, si elle est cochée, comme tu as du le comprendre, les cellules d'une feuille vont aller se reporter sur une autre feuille à la première ligne (que j'ai défini moi même en lignes 12/13).
Pour la B c'est pareil :
- Si A est déjà cochée, les cellules liées à la B vont aller se coller sur les lignes 14/15 (2 ème ligne pour moi sur mon autre feuille)
- Si A n'est pas cochée, les cellules liées à la B vont aller se coller sur les lignes 12/13 de mon autre feuille
Donc autant de variantes possibles jusqu'à la 72eme checkbox...
D'où le problème suivant pour l'exemple de la checkbox B :
Si je veux annuler l'action de la checkbox B, comment faire comprendre à la macro quelle ligne est a supprimer ? (soit les lignes 12/13, soit les lignes 14/15)
J'espère être un minimum clair dans mes explications parce que c'est un vrai casse tête pour moi...
Voici ce que j'ai codé précédemment pour la CheckboxB si ça peut aider à la compréhension (je n'y ai pas encore apporté ta nouvelle écriture)
Private Sub B_Click()
If B.Value = True Then
B1
'Else
'B2
End If
End Sub
Sub B1()
If Worksheets("Suivi Dimensionnel (1)").Cells(12, 1).Value = "" Then
Worksheets("Suivi Dimensionnel (1)").Visible = 1
Sheets("Suivi Dimensionnel (1)").Cells(12, 1) = Sheets("Relevé Cotes (1)").Cells(14, 1)
Sheets("Suivi Dimensionnel (1)").Range("C12:E13").Value = Sheets("Relevé Cotes (1)").Range("BS14:BU15").Value
Sheets("Suivi Dimensionnel (1)").Range("F12:I13").Value = Sheets("Relevé Cotes (1)").Range("BV14:BY15").Value
Sheets("Suivi Dimensionnel (1)").Range("J12:O13").Value = Sheets("Relevé Cotes (1)").Range("BZ14:CE15").Value
Else
Sheets("Suivi Dimensionnel (1)").Cells(14, 1) = Sheets("Relevé Cotes (1)").Cells(14, 1)
Sheets("Suivi Dimensionnel (1)").Range("C14:E15").Value = Sheets("Relevé Cotes (1)").Range("BS14:BU15").Value
Sheets("Suivi Dimensionnel (1)").Range("F14:I15").Value = Sheets("Relevé Cotes (1)").Range("BV14:BY15").Value
Sheets("Suivi Dimensionnel (1)").Range("J14:O15").Value = Sheets("Relevé Cotes (1)").Range("BZ14:CE15").Value
End If
End Sub