Bonsoir,
j'ai finalisé une version qui fonctionne. Le processus est accéléré en ne sélectionnant que les Cases à cocher dont le n° de colonne est supérieur à celui de la dernière colonne de l'exercice qui est terminé et que l'on recopie. Comme le pas de recopie est toujours le même, en partant de l'info de cellule associée qui a été recopiée, il est possible de calculer la cellule associée et de l'enregistrer.
Sub Find_Checkbox()
'
Dim sh As Shape
Dim Col As Integer
Dim Lin As Integer
Dim Pas As Integer
Pas = 27
' NoCol = 309 exer 2020
ActiveSheet.Unprotect
For Each sh In ActiveSheet.Shapes
If TypeControle(sh) = 1 Then
ActiveSheet.Shapes.Range(Array(sh.Name)).Select
With Selection
If Range(.LinkedCell).Column > NoCol Then
' Debug.Print sh.Name, .Left, .LinkedCell, Range(.LinkedCell).Row, Range(.LinkedCell).Column
Col = Range(.LinkedCell).Column + Pas
Lin = Range(.LinkedCell).Row
.Value = xlOff
.LinkedCell = LetCol(Col) & "$" & Lin
End If
End With
End If
Next
End Sub
Function TypeControle(sh As Shape)
TypeControle = "Ce n'est pas un contrôle"
On Error Resume Next
TypeControle = sh.FormControlType
End Function
Encore un grand merci pour le support et les explications.
Cdt
JMV