1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Sub Générer_code()
GénérerFeuille Sheets("CLMT"), Sheets("Module").[D17].Value, Sheets("Utilisateurs").[C5].Value, Sheets("Module").[D16].Value
GénérerFeuille Sheets("CF"), Sheets("Module").[D17].Value, Sheets("Utilisateurs").[C6].Value, Sheets("Module").[D16].Value
GénérerFeuille Sheets("CCT"), Sheets("Module").[D17].Value, Sheets("Utilisateurs").[C7].Value, Sheets("Module").[D16].Value
End Sub
Sub GénérerFeuille(ByVal WshCibl As Worksheet, ByVal Code1 As String, ByVal Code2 As String, Optional ByVal MatCont)
Dim CelADéb As Range, NbLig As Long, ZMsg As String
Set CelADéb = WshCibl.[A1000000].End(xlUp).Offset(1)
NbLig = WshCibl.[D1000000].End(xlUp).Row + 1 - CelADéb.Row
If NbLig > 0 Then
With CelADéb.Resize(NbLig)
.Formula = "=""" & Code1 & Format(Date, "ddmmyyyy") _
& Code2 & """&TEXT(ROW()-" & CelADéb.Row - 1 & ",""00"")"
.Value = .Value
If Not IsMissing(MatCont) Then .Offset(, 1).Value = MatCont
End With
If NbLig > 1 Then ZMsg = NbLig & " lignes ont été numérotées" Else ZMsg = "Une ligne à été numérotée"
MsgBox ZMsg & " sur """ & WshCibl.Name & """.", vbInformation, "Générer"
Else
MsgBox "Aucune ligne n'a été numérotée sur """ & WshCibl.Name & """.", vbExclamation, "Générer"
End If
End Sub |
Partager