Bloquer un coller si pas de copier

Bonjour à tous,

Voila mon problème qui j'espère trouvera une solution mais je n'en doute pas.

Alors, J'ai une macro qui réalise un coller sur un ficher principale à partir d'un autre fichier excel source sur lequel on réalise le copier manuellement car le nom du fichier ne sera jamais le même et ne peut être renommé par les utilisateurs donc je ne peux l'appeler pour faire un copier coller classique.

Tout se passe bien jusqu'au moment où l'utilisateur oublie de faire le copier et lance de suite la macro coller se qui à pour effet de faire planter la macro. Logique on ne peut pas coller se que l'on ne copie pas.

En faite se que je souhaiterais serai d'afficher un message si rien n'a été copier "Attention aucune données copie".

Donc est-il possible de vérifier par macro si "quelque choce" à bien été copier avant de le coller, que se soit des cellules vide ou plaines.

Merci d'avance.

1 réponse

  1. Bonjour,

    a adapter pour votre code.

    lancer test apres un copier clic souris sur cellule et sans copier

    'http://www.excelabo.net/excel/presse_papier
    Declare Function CountClipboardFormats Lib "user32" () As Long
    'fonction presse-papier vide: faux si donnees, vrai si vide
    Function IsClipboardEmpty() As Boolean
    IsClipboardEmpty = (CountClipboardFormats = 0)
    End Function

    'Tu peux l'utiliser dans une feuille de calcul : =IsClipboardEmpty() ou dans du code vba :

    Sub test()
    MsgBox "presse papier vide ??: " & IsClipboardEmpty
    End Sub
    0