1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| Sub Preparer_NCC3()
Dim wksFeuille As Worksheet
Dim NomFeuil As String
Dim MonTableau As Variant
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Windows("01_BD_NCC.xlsm").Visible = False
For Each wksFeuille In Workbooks("01_BD_NCC.xlsm").Worksheets
If Left(wksFeuille.Name, 6) <> "Classe" Then
wksFeuille.Delete
Else
NomFeuil = Replace(wksFeuille.Name, " ", "_")
wksFeuille.Name = NomFeuil
wksFeuille.Rows("1:4").Delete
MonTableau = wksFeuille.Range("A1").CurrentRegion
wksFeuille.Cells.Delete
wksFeuille.Range("A1:U1") = Array("Numero", "Libelle", "Code_correspondant", "Nature_operation", "Annee_Orig_Creance", "Ref_PCE_Pallier", _
"DA", "Fonctionnement", "Solde_CE", "Solde_FE", "Justif_CE", "Justif_FE", "Justif_CC", "Observations", "Origine_Creance", _
"Code_Attrib", "Code_CDR", "Code_Immo", "Code_Flux", "Affectation", "Date_MAJ")
Dim I As Integer
For I = 1 To UBound(MonTableau)
If Len(MonTableau(I, 1)) <> 10 Then
MonTableau(I, 1) = ""
Else
MonTableau(I, 1) = CDbl(MonTableau(I, 1))
End If
Next
wksFeuille.Range("A2").Resize(UBound(MonTableau), UBound(MonTableau, 2)) = MonTableau
Dim J As Long
Dim DerniereLigne As Long
wksFeuille.Cells.RowHeight = 14.25
DerniereLigne = wksFeuille.Cells(wksFeuille.Rows.Count, 1).End(xlUp).Row
For J = DerniereLigne To 2 Step -1
If wksFeuille.Cells(J, 1) = "" Then wksFeuille.Cells(J, 1).EntireRow.Delete
Next J
End If
Next wksFeuille
With Cells
.Replace what:="'", Replacement:=" "
.Replace what:="", Replacement:=" "
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = True
MsgBox "Opération terminée"
Windows("01_BD_NCC.xlsm").Visible = True
End Sub |
Partager