Re Michel,
Comment fait-on pour mettre la variable à jour rendu à la ligne que tu indiques ?
Alors pour ma part, quand il s'agit de trouver le nbr de ligne, je ne déclare pas de variable : je met directement le code
Ta version :
Range("A" & Dligne).Select
Ma version :
Range("A" & Range("A" & Rows.Count).End(xlUp).Row).Select
Comme sa, j'ai toujours le vrai nombre de ligne au moment où j'en ai besoin, sans avoir à mettre à jour ma variable.
Du coup j'ai revu ton code dans son ensemble et j'ai essayé de le condenser un peu :
Sub MF_Liste_Vendredi_GR1_V()
Dim x As Long
'Remplacer par vide pour conserver seulement #
For x = 4 To 6
With Columns(x)
.Replace What:="Division", Replacement:=""
.Replace What:="-", Replacement:=""
End With
Next
'Supprimer ligne qui ne contient pas 1 dans colonne E, sauf en-tête
Cells(2, 5).AutoFilter Field:=5, Criteria1:="<>*1*"
Rows("2:" & Range("A" & Rows.Count).End(xlUp).Row).Delete
ActiveSheet.ShowAllData
'Insérer nouvelle colonne et formule pour le # chef
Columns("D:D").Insert
Range("D2").FormulaLocal = "=RECHERCHEV(G2;Feuil1!$G$5:$I$70;3;0)"
Range("D2").AutoFill Destination:=Range("D2:D" & Range("B" & Rows.Count).End(xlUp).Row), Type:=xlFillDefault
'Insérer colonnes, puis convertir colonne I en 3 distinctes
Columns("J:K").Insert Shift:=xlToRight
Range("I2:I" & Range("B" & Rows.Count).End(xlUp).Row).TextToColumns Destination:=Range("I2"), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), TrailingMinusNumbers:=True
'Convertir colonne A, H et L
With Range("A2:A" & Range("B" & Rows.Count).End(xlUp).Row, "H2:H" & Range("B" & Rows.Count).End(xlUp).Row)
.NumberFormat = "0"
.Value = .Value
End With
Range("L2:L" & Range("B" & Rows.Count).End(xlUp).Row).NumberFormat = "mmm-yy"
'En-tête
Rows("2:2").Select
ActiveWindow.FreezePanes = True ' Figer les volets ligne 2
Range("A1:H1").ClearContents
[A1] = "Matricule."
[B1] = "Nom,Prénom."
[C1] = "Grade."
[D1] = "C/O"
[E1] = "Div."
[F1] = "Gr."
[G1] = "Cas."
[H1] = "BIP"
[I1] = "TYPEITEM"
[J1] = "MARQUE"
[K1] = "ANNÉEITEM"
[L1] = "Datedemandé"
Range("A1:L1").Font.Bold = True
Range("A1:G1").Interior.ColorIndex = 6
With Range("H1:L1")
.Font.ColorIndex = 2
.Interior.ColorIndex = 5
End With
'Trie croissant: colonnes H, B, G et D
Range("A1:M" & Range("B" & Rows.Count).End(xlUp).Row).Sort Key1:=Range("H1,B1,G1,D1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Cells.EntireColumn.AutoFit 'Dimensionner colonnes
Range("A2").Select
ActiveWorkbook.Save
End Sub
Restant à dispo