Activer Copier/Coller
Résolu
andy2092
Messages postés
81
Statut
Membre
-
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 15481 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
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:
- Activer Copier/Coller
- Historique copier coller - Guide
- Activer chromecast - Guide
- Copier coller pdf - Guide
- Style d'écriture a copier coller - Guide
- Historique copier coller windows - Accueil - Informatique
1 réponse
Bonjour,
Je te propose de remplacer ta procédure par celle-ci :
Elle ne se déclenche que lorsque ton code est saisi et ne gène pas la copie.
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.
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"
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 SubNon le message d'alerte ne s'affiche pas quand je sélectionne 2x8.
Peux-tu juste m'expliquer ce que tu as fait parce que je ne suis pas un expert en macro.