Activer Copier/Coller

Résolu
andy2092 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
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

1 réponse

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
    1. andy2092 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention  
       
      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
    2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      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
    3. andy2092 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention  
       
      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
    4. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Regardes avec la modification ci-dessus.
      0
    5. andy2092 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention  
       
      Ça marche !! Merci :)

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