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
| Sub enregistrement_formulaire()
Dim rngSource As Range
Dim premiere_ligne As Long
With Worksheets("formulaire") 'fichier formulaire
.Unprotect Password:="LEAN"
Application.Calculate
Set rngSource = Worksheets("formulaire").Range("U2:AE2")
Call ouverture_BDD(wb) 'ouverture fichier base de donnée
'COLLER DANS BASE DE DONNEES
With wb.Sheets("bdd")
premiere_ligne = .Range("A" & Rows.Count).End(xlUp).Row + 1 'calcul de la première ligne vide
On Error Resume Next
.ShowAllData 'enlever tous les filtres de la base de données
On Error GoTo 0
.AutoFilter.Sort.SortFields.Clear
.AutoFilter.Sort.SortFields.Add Key:= _
Range("A6:A" & premiere_ligne), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
:=xlSortNormal ' trier la base de données dans l'ordre croissant des numéros de demande
With ActiveWorkbook.Worksheets("bdd").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
.Cells(premiere_ligne, 1).Value = .Cells(premiere_ligne - 1, 1).Value + 1 'Incrémentation du numéro de la demande
.Range("B" & premiere_ligne).Resize(1, rngSource.Count).Value = rngSource.Value 'coller dans le fichier base de données la demande du fichier formulaire
wb.Save
wb.Close
End With
End With |
Partager