Problème depuis l'ajout d'un workshhet pour exécuter une macro

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

orion2000

XLDnaute Nouveau
Bonjour à tous voilà mon problème:

Dans une feuille de code ou j'avais ceci:
Code:
' Macro2 Macro
' Macro enregistrée le 09/11/2011 par Jul
'

'
Range("K4:P16").Select
Selection.Copy
Range("Q4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("Q5:V16").Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("V5"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("E11").Select
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("k3") = 1 Then
Macro2
Else
Exit Sub
End If
End Sub

( qui fonctionnait très bien)

J'ai ajouté celà:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(0, 0) = "B7" Or Target.Address(0, 0) = "B8" Then
Range("A12").Interior.ColorIndex = 48
Else
Range("A12").Interior.ColorIndex = 2
End If

et depuis la macro 2 fait une erreur 1004.

Ci joint le fichier concerné.

Si quelqu'un pouvait m'aider merci !
 

Pièces jointes

Re : Problème depuis l'ajout d'un workshhet pour exécuter une macro

Bonjour,

pas ouvert ton fichier, mais évite peut être les "select" dans la "macro2", ils ont pour effet de déclencher ta procédure événementielle.... par exemple ceci :
Code:
Range("K4:P16").Select
Selection.Copy
Range("Q4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

peut être remplacé par cela :
Code:
Range("K4:P16").Copy
Range("Q4").PasteSpecial Paste:=xlPasteValues

bon après midi
@+
 
Re : Problème depuis l'ajout d'un workshhet pour exécuter une macro

Bonjour orion,

Sur le principe, ta macro selection_change se déclenche à chaque modification de la sélection
Comme dans ta Macro2 tu sélectionnes des plages

Range("K4😛16").Select
Selection.Copy
Range("Q4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("Q5:V16").Select
ça s'exécute à chaque sélection de plage de la Macro2
Il arrive que ça annule les copies (vide le presse-papier), ce qui pourrait expliquer ton soucis
Pour éviter ça, tu pourrais désactiver les évènements pendant la sélection de tes plages de ta Macro2

Application.enableevents = false
Range("K4😛16").Select
Selection.Copy
Range("Q4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("Q5:V16").Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("V5"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("E11").Select
Application.enableevents = true
End Sub

Edit : bing, Bonjour Pierrot 😉, tu as raison, sans doute encore mieux 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
317
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
4
Affichages
223
Retour