Je suis nouveau sur le forum (je fais de l'Excel et du VBA depuis peu) et j'espère que je vais réussir à être clair dans ma question.
Alors, j'ai un problème qui est courant sur Excel et qu'on peut éviter si on s'y connais un peu. Ce qui n'est pas le cas de la personne pour qui je fais ce fichier.
Le problème est le suivant : quand on copie/colle ou qu'on coupe/colle des cellules dans Excel, cela engendre des problèmes de référence dans les formules qui utilisent ces cellules (logique). Pour éviter ce problème je suis en train de faire un programme en VBA composé d'un "Private Sub Worksheet_change" pour que le programme s’exécute automatiquement.
Le but du programme est que lorsque l'utilisateur va copier ou couper des cellules, seules les valeurs des cellules serons collées.
On peut voir le programme ci-dessous :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, ActiveSheet.Range("B4:D500"), ActiveSheet.Range("G4:I500")) Is Nothing Then
ActiveSheet.PasteSpecial Paste:=xlValues
End If
End Sub
Donc voilà, ça ne fonctionne pas et je n'arrives pas à voir d'où vient le problème. Comme je l'ai dis, je fait du VBA depuis peu et peut être que je fais des erreurs de débutant. Je ne suis pas sûr de l'utilisation de "worksheet_change".
Merci pour votre réponse.
Malheureusement, cela ne fonctionne pas.
Avez-vous d'autres suggestions?
J'ai tenté autre chose, cette fois-ci, je fais une macro relié au raccourci ctrl+v. Le but étant que, quand l'utilisateur utilise un ctrl+v seul les valeurs sont copiés. mais la méthode "pastespecial" ne fonctionne pas.
VB:
Sub PasteValue()
Selection.PasteSpecial Paste:=xlPasteValues
End Sub