Macro "no copy to paste"

Bonjour a tous

je suis a la recherche d'une macro qui empercherait de copier coller les cellules avec validation de donnée car j'ai des formules avec fonction rechercheV pour chaque colonne de la colonne B a la colonne H et cela pour toute les feuilles du classeur allant de S1 - Prog a S26 - Prog. de la ligne 28 a la ligne 600.

cela dans le but d"évite de copier une cellule dédier a une colonne vers une autres colonne, j'ai essayer avec la protecion de la feuille mais pas moyen d’afficher le menu déroulant des cellules avec cette protection.

merci a vous pour votre aide.

Cordialement

Bonjour,

Une piste peut être ?

Dans le module du classeur si tu veux pour toutes les feuilles, adapte les plages avec Intersect() utilise "CutCopyMode" que tu mets à "False" :

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Application.CutCopyMode = False
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.CutCopyMode = False
End Sub

Bonjour Theze

merci pour ton aide mais cela reste encore du chinois pour moi,

j'ai mis un fichier en copy pour pouvoir mettre en place une macro,

j’essaie de comprendre mais les macros et moi ça fait 2. pas évident pour mois.

Cordialement

Bonjour,

Comme il n'y a apparemment qu'une feuille qui est visée, voici le classeur en retour !

Bonjour Theze

merci pour ce retour c'est tout a fait ce dont j'ai besoin, est il possible d’appliquer cette formule pour toute les feuilles, dois je faire un copier coller pour chaque feuille? ou existe t il un moyen de ne mettre qu’une formule pour le classeur complet.

pour info toute les feuilles sont identique en mis en forme.

Cordialement

Bonjour,

Tu vas dans le VBE (Alt+F11), dans la partie en haut à gauche, tu as tous les modules des feuilles et celui du classeur (ThisWorkbook), tu double cliques sur ce dernier et dans la fenêtre principale (fenêtre d'édition) tu colles le code ci-dessous :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Not Intersect(Target, Sh.Range("B28:H600")) Is Nothing Then Application.CutCopyMode = False
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If Not Intersect(Target, Sh.Range("B28:H600")) Is Nothing Then Application.CutCopyMode = False
End Sub

Ensuite, dans la partie en haut en gauche, tu double cliques sur le module de la feuille "S1 - Prog" --> Feuil1 (S1 - Prog) et tu supprimes le code qui se trouve dans la fenêtre d'édition.

Bonjour Theze

je te remercie pour ton aide, cette macro répond a mon besoin.

très cordialement

Eric

Rechercher des sujets similaires à "macro copy paste"