Bonjour à tous,
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 :
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".
Si vous pouviez m'aider ça serait super gentil![Smile :) :)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
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".
Si vous pouviez m'aider ça serait super gentil