Bonjour,
J'ai un code ci dessous qui me permet de coller des cellules d'une feuille à une autre et qui fonctionne bien
Mais à chaque copie la mise en forme conditionnelle se recopie et donc s'ajoute à la liste des mises en forme conditionnelle de la feuille de destination soit la feuille "2021"
Je voudrais si possible que cette mise en forme conditionnelle ne se recopie pas à chaque fois en sachant que ces mises en forme conditionnelles sont en place dans la feuille "2021"
Le code qui bug est dans le code en bas de page
Code Complet :
Private Sub Trame1_Click()
Dim wrsSource As Worksheet
Dim wrsTarget As Worksheet
Set wrsSource = Worksheets("Trame de base")
Set wrsTarget = Worksheets("2021")
Dim CduDate As String
Dim MyDate As Date
Application.CutCopyMode = False
CduDate = Date1.Value
If IsDate(CduDate) = True Then
MyDate = Format(CduDate, "dd/mm/yyyy")
Else
MsgBox "Entrer une date valide"
Exit Sub
End If
If Weekday(Date1, 2) <> "1" Then
MsgBox "vous devez saisir un lundi"
Me.Date1.SetFocus
Else
With Worksheets("2021")
DernLigne = Range("D" & Rows.Count).End(xlUp).Row
For Lig1 = 3 To DernLigne
If .Cells(Lig1, 4).Value = MyDate Then
MsgBox (.Cells(Lig1, 4).Row) & " - " & .Cells(Lig1, 4).Value& & " - " & .Cells(Lig1, 1).Value
Depart = .Cells(Lig1, 4).Row
End If
Next Lig1
End With
For k = Depart To 374 Step 7
If wrsTarget.Cells(k, 1) = 1 Then
wrsSource.Range("e3:Cc9").Copy wrsTarget.Range("E" & k)
End If
If wrsTarget.Cells(k, 1) = 2 Then
wrsSource.Range("e10:Cc16").Copy wrsTarget.Range("E" & k)
End If
If wrsTarget.Cells(k, 1) = 3 Then
wrsSource.Range("e17:Cc23").Copy wrsTarget.Range("E" & k)
End If
If wrsTarget.Cells(k, 1) = 4 Then
wrsSource.Range("e24:Cc30").Copy wrsTarget.Range("E" & k)
End If
Next k
Application.CutCopyMode = False
End If
End Sub
Code qui bug :
For k = Depart To 374 Step 7
If wrsTarget.Cells(k, 1) = 1 Then
wrsSource.Range("e3:Cc9").Copy wrsTarget.Range("E" & k)
End If
If wrsTarget.Cells(k, 1) = 2 Then
wrsSource.Range("e10:Cc16").Copy wrsTarget.Range("E" & k)
End If
If wrsTarget.Cells(k, 1) = 3 Then
wrsSource.Range("e17:Cc23").Copy wrsTarget.Range("E" & k)
End If
If wrsTarget.Cells(k, 1) = 4 Then
wrsSource.Range("e24:Cc30").Copy wrsTarget.Range("E" & k)
End If
Next k
J'ai essayé ca mais ca plante
If wrsTarget.Cells(k, 1) = 1 Then
wrsSource.Range("e3:Cc9").Copy wrsTarget.Range("E" & k)
wrsSource.Range("e3:Cc9")wrsSource.Range("e3:Cc9").Paste:=xlPasteValues
End If
Pensez-vous que ce soit possible d'éviter cette surcharge de mise en forme conditionnelle ?
Je vous remercie de votre aide
Cordialement