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 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
| 'Génère un fichier contenant toutes les fournitures renseignées
Public Sub Genere()
Dim fourn() As String
Dim NomFich As String
Dim Chemin As String
'Récupèration des fournitures
fourn = RecupFourn
'Récupère le nom du fichier
NomFich = Range("Fichier")
If NomFich = "" Then
MsgBox "Saisir le nom du fichier à créer"
Exit Sub
End If
'Créer le chemin du nouveau fichier (même endroit que le fichier actuel)
Chemin = ThisWorkbook.Path & "\" & NomFich & ".xls"
'Crée un nouveau fichier Excel
CreerFich
'Transfère les données dans le fichier
With Sheets("Commande")
.Range("A1", "D" & CStr(UBound(fourn, 2) + 1)) = Application.WorksheetFunction.Transpose(fourn)
.Range("E1") = "Observation"
.Range("F1") = "Type"
End With
MiseEnForme
ActiveWorkbook.SaveAs Filename:=Chemin, FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
' ActiveWorkbook.Close
End Sub
'Récupère les lignes dont les quantités ont été renseignées
Private Function RecupFourn() As String()
Dim i As Integer
Dim Ligne() As String
ReDim Preserve Ligne(3, 100)
i = 0
'Récupère les lignes avec des quantités
For Each cel In Range("Quantite")
If cel.Value <> "" Then
Ligne(0, i) = cel.Offset(0, -2)
Ligne(1, i) = cel.Offset(0, -1)
Ligne(2, i) = cel
Ligne(3, i) = cel.Offset(0, 1)
i = i + 1
End If
Next cel
ReDim Preserve Ligne(3, i - 1)
RecupFourn = Ligne
End Function
'Efface toutes les quantités
Public Sub EffaceQté()
If MsgBox("Voulez-vous supprimer toutes les quantités ?", vbYesNo, "Avertissement") = vbYes Then
For Each cel In Range("Quantite")
If cel.Value <> "Qté" Then
cel.Value = ""
End If
Next cel
End If
End Sub
'Création du nouveau fichier
Private Sub CreerFich()
'Crée un nouveau fichier Excel
Workbooks.Add
Sheets("feuil1").Name = "Commande"
Application.DisplayAlerts = False
' Sheets("Feuil2").Delete (les 2 lignes genere un problème "erreur 9 cette sélection n'appartien ppas à l'indice"
' Sheets("Feuil3").Delete
Application.DisplayAlerts = True
End Sub
'Mise en forme du fichier
Private Sub MiseEnForme()
'Mise en forme des données
Sheets("Commande").Range("A1", "F1").CurrentRegion.Select
With Selection
.Borders.LineStyle = xlContinuous
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Font.Name = "arial"
.Font.ColorIndex = 0
.Font.Size = 10
.Columns(1).ColumnWidth = 24
.Columns(2).ColumnWidth = 50
.Columns(2).HorizontalAlignment = xlLeft
.Columns(3).ColumnWidth = 10
.Columns(4).ColumnWidth = 35
.Columns(5).ColumnWidth = 16
.Columns(6).ColumnWidth = 8
' .EntireColumn.AutoFit
End With
'Mise en forme des titres
Sheets("Commande").Range("A1", "F1").Select
With Selection
.Font.FontStyle = "Gras"
.Interior.ColorIndex = 9
.Font.ColorIndex = 2
.Font.Size = 12
.Columns(2).HorizontalAlignment = xlCenter
' .EntireColumn.AutoFit
End With
End Sub
Sub Début()
Range("Début").Select
End Sub |
Partager