J'ai mis une version EXCEL 2003.
-- Ven Avr 02, 2010 2:40 pm --
Ca n'avait pas suscité une avalanche de réponse,
mais en y passant des heures j'ai réussi.
Ce n'est peut etre pas très propre, d'ailleurs si le code peut être amélioré je veux bien qu'on me dise où et pourquoi,
histoire de se perfectionner, mais ça marche.
Voici le code :
Sub Test()
Application.ScreenUpdating = False
Dim iEC As Long
Dim iAV As Long
Dim EC As Worksheet
Dim AV As Worksheet
Set EC = Worksheets("Feuil1")
Set AV = Worksheets("Feuil2")
Const CLOTURE = "Tâche plannifiée"
'Copie des lignes où dans la colonne D est écrit "Matin"
iAV = 1
For iEC = 1 To 20
If EC.Cells(iEC, 1).Text = "Matin" Then
For iAV = 1 To 20000
If AV.Cells(iAV, 3).Text = "Matin" And AV.Cells(iAV, 4).Text = "" Then
EC.Range(Cells(iEC, 2), Cells(iEC, 3)).Copy
AV.Cells(iAV, 4).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
EC.Cells(iEC, 4) = CLOTURE
EC.Cells(iEC, 4).Interior.ColorIndex = 3
EC.Cells(iEC, 4).Font.ColorIndex = 6
Exit For
End If
Next
End If
Next
End Sub