Bonjour à tous,
Cela fait quelque temps que je cherche à trouver le moyen d'empecher le glisser déposer d'une cellule à une autre dans excel pour éviter à l'utilisateur de casser toutes les références aux formules, etc. On m'a pas mal aidé sur un autre forum (notamment Myta, que je remercie pour toutes les réponses qu'il m'a apportées jusqu'à aujourd'hui), mais ca a l'air de sécher donc je me tente ici.
Voici un élément de réponse en VBA où l'on est arrivé:
Je crois que ca déconne à cause du fait que la ligne Application.Undo réappelle Worksheet_SelectionChange et Worksheet_Change mais je n'en suis pas sûr.
Si vous arrivez à compléter, ou vous avez d'autres solutions, je suis preneur
Merci pour votre aide
Cela fait quelque temps que je cherche à trouver le moyen d'empecher le glisser déposer d'une cellule à une autre dans excel pour éviter à l'utilisateur de casser toutes les références aux formules, etc. On m'a pas mal aidé sur un autre forum (notamment Myta, que je remercie pour toutes les réponses qu'il m'a apportées jusqu'à aujourd'hui), mais ca a l'air de sécher donc je me tente ici.
Voici un élément de réponse en VBA où l'on est arrivé:
Code:
'[A mettre dans chaque feuille]
Dim PrevCel As Range
Dim Etat As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.CutCopyMode = xlCut Then Exit Sub
If PrevCel Is Nothing Then Exit Sub
If Target.Address <> PrevCel.Address Then
If Etat = True Then
Etat = False: Exit Sub
End If
Etat = True
Application.Undo
Application.CutCopyMode = False
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set PrevCel = Target
End Sub
Je crois que ca déconne à cause du fait que la ligne Application.Undo réappelle Worksheet_SelectionChange et Worksheet_Change mais je n'en suis pas sûr.
Si vous arrivez à compléter, ou vous avez d'autres solutions, je suis preneur
Merci pour votre aide