Re : Erreur sur une macro
Bonsoir
C'est la macro qui est dans ThisWorkbook qu'il faut rectifier, mais je ne sais pas faire.
Par avance merci à la personne qui voudras bien rectifier
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Copie Sheets("ecart P"), Sh
Copie Sheets("ecart G"), Sh
End Sub
Sub Copie(F As Worksheet, Sh As Worksheet)
If Not Sh.Name Like F.Name & "?" Then Exit Sub
Dim lettre As String, lig As Long
lettre = Right(Sh.Name, 1)
Application.ScreenUpdating = False
Application.DisplayAlerts = False 'à cause des liaisons...
Application.Calculation = xlCalculationManual 'calcul sur ordre
F.Cells.Copy Sh.[A1] 'pour les formats
Sh.[F4:R4] = Sh.[T1:AF1].Offset(Application.Match(lettre, Sh.[AG2:AG4], 0)).Value
lig = Sh.UsedRange.Row + Sh.UsedRange.Rows.Count - 1
If lig > 4 Then 'début en ligne 5
With Sh.Range(Sh.Cells(5, 5), Sh.Cells(lig, 5))
Me.Names.Add "matrice", .Value 'nom défini par une matrice
.FormulaArray = "=LN(matrice=""" & lettre & """)"
.Value = .Value
.EntireRow.Sort .Cells(1), Header:=xlNo 'tri pour accélérer la suppression
On Error Resume Next
.SpecialCells(xlCellTypeConstants, 16).EntireRow.Delete
.Value = lettre
Me.Names("matrice").Delete
voila celle ci de macro serait bonne, mais elle recopie intégralement toute la feuille