Que veux tu dire par "quand je rajoute des tableaux"? Est-ce que cela veut dire que tu vas créer de nouvelles feuilles avec d'autres tableaux? A quoi cela te sert-il?
D'autre part, dans ta Feuil2, il y a plusieurs endroit où tu as écrit 2017, cela veut-il dire qu'il pourrait y avoir plusieurs fois 2017 dans ton tableau de la Feuil4?
Je comprend pas tout à fait ce que tu veux 
Est-ce que tu pourrais me dire où exactement dans ton code tu bloques? Ecris-moi ton code et dis-moi là où tu ne sais plus faire.
J'ai parcouru trèès rapidement ton code et j'ai vu :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| If Target.Column = 4 And Target.Interior.ColorIndex <> xlColorIndexNone Then 'colonne D sur une cellule colorée...
'on cherche la position du tableau dans la feuille données
With Sheets("Données").Range("B:B")
'MsgBox Target.Item(1)
Set c = .Find(Target.Item(1)) ', LookIn:=xlValues, XlLookAt:=xlWhole)
On Error Resume Next
If Not c Is Nothing Then
If c.Value <> "" Then
'recopie du tableau
.Range("B" & c.Row & ":F" & c.Row + 4).Copy Destination:=Target.Offset(0, 1) 'va comprendre pourquoi il faut mettre B et F pour copier CG......?????
Else
Target.Offset(0, 1).Resize(4, 5).ClearContents 'si numéro pas trouvé: on efface
End If
Else
Target.Offset(0, 1).Resize(4, 5).ClearContents 'si numéro pas trouvé: on efface
End If
End With
End If |
Avec le With... End With, cette ligne équivaut à:
Sheets("Données").Range("B:B").Range("B" & c.Row & ":F" & c.Row + 4).Copy Destination:=Target.Offset(0, 1)
Donc, tu mets 2 Range à la suite --> Excel est perdu
Partager