Bloquer macro si copier/coller en cours

Bonjour à tous,

J'aimerais savoir comment bloquer ma macro si une cellule (ou une plage) est en cours de . En fait, je possède une macro qui fonctionne bien, mais lorsque je l’exécute alors qu'une cellule est copiée et en passe d'être collée, la macro déconne et agit n'importe comment. C'est pourquoi j'aimerais ajouter une instruction au début de mon code qui stopperait la macro dans ce cas là, et j'ajouterai un MsgBox "Annulez votre copie et relancez la macro".

Quelqu'un a-t-il une proposition à me faire ? Merci d'avance, et bonne journée !

SkillzZ

Bonjour,

Sub myMacro()
    On Error GoTo fin
    With New DataObject
        .GetFromClipboard
        Contenu = .GetText(1)
    End With
    MsgBox "Une information est en cours de copie : """ & Contenu & """ !"
    Exit Sub
fin:
    On Error GoTo 0
    MsgBox "C'est ok"
End Sub

coches aussi "objet" ici :

capture d ecran 406
10copie-en-cours.xlsm (14.17 Ko)

Bonjour Steelson,

Merci beaucoup pour ta réponse ! Ce que tu me proposes semble être presque parfait ! Presque, car j'ai l'impression qu'il faut forcément une erreur pour que l'on quitte la procédure. Or de temps en temps (je ne sais pas pourquoi), ma macro s’exécute malgré la copie en cours mais du coup ne fait plus vraiment ce que je veux ! J'aimerais donc que la macro s'arrête dès lors ou il y qqchose de copier par l'utilisateur.

Je me trompe ? Ou bien ton code doit effectivement tomber sur une erreur pour sortir de la procédure ?

Edit: Finalement en testant ton fichier j'ai l'impression qu'il n'y a pas besoin d'une erreur. En revanche, même si je ne copie rien, j'ai le message comme quoi du contenu est en train d'être copié ..

EDIT*: En transposant ça dans ma macro ça fonctionne nickel ! Merci bcp !

SkillzZ

Presque, car j'ai l'impression qu'il faut forcément une erreur pour que l'on quitte la procédure. Or de temps en temps (je ne sais pas pourquoi), ma macro s’exécute malgré la copie en cours

Dans le cas présent, j'ai bien mis
exit sub

Edit: Finalement en testant ton fichier j'ai l'impression qu'il n'y a pas besoin d'une erreur. En revanche, même si je ne copie rien, j'ai le message comme quoi du contenu est en train d'être copié ..

C'est qu'il y a quelque chose dans le presse papier (il n'est pas vide), peut-être du txete, pas forcément une cellule (qui clignoterait !)

Fais Coller dans la feuille excel et tu verras que le presse-papier n'est pas vide !

EDIT*: En transposant ça dans ma macro ça fonctionne nickel ! Merci bcp !

je ne l'ai pas testé avec une image dans le presse-papier ... à voir !

Oui, en fait c'était qu'il y avait qqch dans le presse-papier mais qui ne provenait pas d'Excel. Tu as tout à fait raison ! Merci Steelson. Mais après utilisation je me rend compte que c'est ennuyeux car il y a très souvent qqch dans le presse papier. Du coup j'aimerais bien modifier un peu ma demande si jamais tu as une idée et le temps pour m'en proposer une:

Serait-il possible plutôt que de bloquer la macro, de vider le presse papier au début de celle-ci ? Je pense que ce serait plus adapté !

À bientôt !

EDIT: C'était tout bête !

Application.CutCopyMode = False

Désolé pour le dérangement et encore merci !

SkillzZ

Rechercher des sujets similaires à "bloquer macro copier coller cours"