Activer Copier/Coller

Résolu/Fermé
andy2092 Messages postés 78 Date d'inscription dimanche 13 mai 2018 Statut Membre Dernière intervention 7 février 2024 - Modifié le 13 mai 2018 à 19:58
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 26 juil. 2018 à 09:08
Salut,

J'ai réalisé une macro pour afficher un message d'alerte sur une feuille (CT) quand une donnée est sélectionnée sur une liste déroulante. J'ai plusieurs tableaux dans la même feuille. Le message s'affiche qu'une seule fois, d'où l'utilisation de cette macro. Cependant je ne peux pas utiliser le copier/coller sur ma feuille quand j'applique la macro. Pouvez-vous m'aider à ce sujet ? Merci :)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

'Message d'alerte shift 2x8 Tableau PHB
If Range ("J3") = "2x8" Then
'Cellule Z3 dans Feuille CT
If Cells (3, 26) <> "OK" Then
MsgBox "N'oubliez pas d'utiliser les taux en 2x8", vbExclamation, "Alerte Shift PHB"
Cells (3, 26) = "OK"
End If
Else
Cells(3, 26).Clear
End If

'Message d'alerte shift 2x8 Tableau PDB
If Range ("J12") = "2x8" Then
'Cellule Z4 dans Feuille CT
If Cells(4, 26) <> "OK" Then
MsgBox "N'oubliez pas d'utiliser les taux en 2x8", vbExclamation, "Alerte Shift PDB"
Cells(4, 26) = "OK"
End If
Else
Cells(4, 26).Clear
End If

'Message d'alerte shift 2x8 Tableau Essai
If Range("J29") = "2x8" Then
'Cellule Z5 dans Feuille CT
If Cells(5, 26) <> "OK" Then
MsgBox "N'oubliez pas d'utiliser les taux en 2x8", vbExclamation, "Alerte Shift Essai"
Cells(5, 26) = "OK"
End If
Else
Cells(5, 26).Clear
End If
A voir également:

1 réponse

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
13 mai 2018 à 21:30
Bonjour,

Je te propose de remplacer ta procédure par celle-ci :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.CountLarge > 1 Then Exit Sub
If Not Intersect(Target, Union(Range("J3"), Range("J12"), Range("J29"))) Is Nothing Then
'Message d'alerte shift 2x8 Tableau PHB
    If Target = "2x8" Then
        Dim lig As Long
        lig = IIf(Target.Row = 3, 3, IIf(Target.Row = 12, 4, 5))
                'Cellule Z3/4/5 dans Feuille CT
        If Cells(lig, 26) <> "OK" Then
            MsgBox "N'oubliez pas d'utiliser les taux en 2x8", vbExclamation, "Alerte Shift PHB"
            Cells(lig, 26) = "OK"
        End If
    Else
        Cells(lig, 26).Clear
    End If
End If
End Sub


Elle ne se déclenche que lorsque ton code est saisi et ne gène pas la copie.
0
andy2092 Messages postés 78 Date d'inscription dimanche 13 mai 2018 Statut Membre Dernière intervention 7 février 2024
14 mai 2018 à 09:09
Bonjour gbinforme,

Merci beaucoup pour ton aide ! J'ai mis ta formule dans ma feuille mais j'ai une erreur d'exécution '1004' : Erreur défini par l'application ou par l'objet au niveau de "Cells(lig, 26).Clear"
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
Modifié le 14 mai 2018 à 09:22
Bonjour andy,

Au temps pour moi je n'ai pas bien positionné la ligne :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.CountLarge > 1 Then Exit Sub
If Not Intersect(Target, Union(Range("J3"), Range("J12"), Range("J29"))) Is Nothing Then
'Message d'alerte shift 2x8 Tableau PHB
    Dim lig As Long
    lig = IIf(Target.Row = 3, 3, IIf(Target.Row = 12, 4, 5))
    If Target = "2x8" Then
                'Cellule Z3/4/5 dans Feuille CT
        If Cells(lig, 26) <> "OK" Then
            MsgBox "N'oubliez pas d'utiliser les taux en 2x8", vbExclamation, "Alerte Shift PHB"
            Cells(lig, 26) = "OK"
        End If
    Else
        Cells(lig, 26).ClearContents
    End If
End If
End Sub
0
andy2092 Messages postés 78 Date d'inscription dimanche 13 mai 2018 Statut Membre Dernière intervention 7 février 2024
14 mai 2018 à 09:30
Le message d'erreur apparaît quand je sélectionne une autre valeur (1x8 et 3x8).

Non le message d'alerte ne s'affiche pas quand je sélectionne 2x8.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
14 mai 2018 à 10:15
Regardes avec la modification ci-dessus.
0
andy2092 Messages postés 78 Date d'inscription dimanche 13 mai 2018 Statut Membre Dernière intervention 7 février 2024
14 mai 2018 à 11:18
Ça marche !! Merci :)

Peux-tu juste m'expliquer ce que tu as fait parce que je ne suis pas un expert en macro.
0