Private Sub MAJ_click()
Dim N As String
Dim NumColEcart As Integer
Dim iEcart As Integer
Dim LastEcart As Integer
' Variables pour Feuille ANO
Dim NumColANO As Integer
Dim iANO As Integer
Dim LastAno As Integer
'récupère la valeur de la semaine remplie dans l'onglet Report en B2
N = ActiveWorkbook.Sheets("Report").Range("B2").Value
'N = "12 S35"
'******onglet Report***********
With ActiveWorkbook.Sheets("Report")
.Activate
'recherche le numéro de colonne de la semaine en cours
NumColEcart = .Rows(4).Find(N, lookat:=xlWhole).Column - 1
'définit la variable de boucle et le numéro de la derniere ligne
LastEcart = .Range("A" & Rows.Count).End(xlUp).Row
'glisse la formule de la semaine précédente à la semaine en cours pour chaque cellule de la ligne 5 à la dernière ligne
'colle en valeur la semaine précédente
For iEcart = 5 To LastEcart
.Range(.Cells(iEcart, NumColEcart), .Cells(iEcart, NumColEcart + 1)).FormulaLocal = .Cells(iEcart, NumColEcart).Formula
.Cells(iEcart, NumColEcart - 1).Copy
.Cells(iEcart, NumColEcart - 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Next
End With
'******onglet ANO***********
With ActiveWorkbook.Sheets("ANO")
.Activate
'recherche le numéro de colonne de la semaine en cours
NumColANO = .Rows(4).Find(N, lookat:=xlWhole).Column - 1
'définit la variable de boucle et le numéro de la derniere ligne
LastAno = .Range("A" & Rows.Count).End(xlUp).Row
'glisse la formule de la semaine précédente à la semaine en cours pour chaque cellule de la ligne 5 à la dernière ligne
'colle en valeur la semaine précédente
For iANO = 5 To LastAno
.Range(.Cells(iANO, NumColANO), .Cells(iANO, NumColANO + 1)).FormulaLocal = .Cells(iANO, NumColANO).Formula
.Cells(iANO, NumColANO - 1).Copy
.Cells(iANO, NumColANO - 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Next
End With
End Sub