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

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

  • Tournoi ping - Copie.zip
    189.3 KB · Affichages: 18
  • Tournoi ping - Copie.zip
    189.3 KB · Affichages: 21
  • Tournoi ping - Copie.zip
    189.3 KB · Affichages: 20

Pierrot93

XLDnaute Barbatruc
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
@+
 

tototiti2008

XLDnaute Barbatruc
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:p16").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: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
Application.enableevents = true
End Sub

Edit : bing, Bonjour Pierrot ;), tu as raison, sans doute encore mieux :)
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 764
dernier inscrit
nissassa