Bonjour le forum
sur ce fichier j'ai ce code d'erreur (1004) qui je n'arrive pas à débugger :
il s'agit de copier une valeur et de la coller sur une autre feuille au sein d'un for ... next.
je suis obliger de rajouter cette opération car le listindex dont j'ai besoin n'est plus le bon puisque j'ai utilisé un additem pour créer une seconde liste.
Je souhaiterai donc pouvoir copier les valeurs de cette liste créée avec un additem pour pouvoir les exploiter par la suite.
Le bug a lieu au moment de sélectionner la cellule de départ sur une autre feuille.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheets("Classement").Unprotect Password:="xxx"
'peind en rouge activecell
If Not Application.Intersect(Target, Range("E3:E42")) Is Nothing Then
Range("E3:E42").Interior.Color = RGB(90, 90, 90)
ActiveCell.Interior.Color = RGB(255, 0, 0)
End If
'peind en vert les x au dessus et au dessous
Z = ActiveCell.Row
x = Sheets("Barème").Range("C10").Value
y = -x
'si le joueur sélectionné n'a pas x adversaire au dessus de lui
If Not Application.Intersect(Target, Range("E3:E42")) Is Nothing Then
If Z < x + 3 Then
For K = 1 To Z - 3
Cells(2 + K, "E").Interior.Color = RGB(0, 176, 80)
'copie la liste
Cells(2 + K, "E").Copy
Sheets("Liste").Activate
Cells(1, 2).End(xlDown).Offset(1, 0).Activate
Selection.Paste
Sheets("Classement").Activate
'copie le rang
Cells(2 + K, "B").Copy
Sheets("Liste").Activate
Cells(1, 1).End(xlDown).Offset(1, 0).Activate
Selection.Paste
Sheets("Classement").Activate
Next K
For I = 1 To x
Cells(Z + I, "E").Interior.Color = RGB(0, 176, 80)
Next I
End If
End If
'si le joueur sélectionné a x adversaire au dessus de lui
If Not Application.Intersect(Target, Range("E3:E42")) Is Nothing Then
If Z >= x + 3 Then
For I = 1 To x
Cells(Z + I, "E").Interior.Color = RGB(0, 176, 80)
Next I
For J = y To -1
Cells(Z + J, "E").Interior.Color = RGB(0, 176, 80)
Next J
End If
End If
Sheets("Classement").Protect Password:="xxx"
End Sub
Merci si quelqu'un voit une solution.
A bientôt.