Sub GestionChantier()
Dim fType As Worksheet, fRecap As Worksheet, fNouveau As Worksheet, Chantier As String, nChantier As String
Dim lLigne As Long, i As Integer 'Déclaration des variables
Set fType = Worksheets("Type")
Set fRecap = Worksheets("Chantier 216 - 2016")
Chantier = fType.Range("H1")
nChantier = fType.Range("A1")
If Chantier = "" Then Chantier = InputBox("Ajouter un numéro de chantier.") 'Si aucun numéro de chantier n'était rempli on en demande une
fType.Range("H1") = Chantier
For i = 1 To Worksheets.Count 'On vérifie si le numéro de chantier n'existe pas
If Worksheets(i).Name = Chantier Then
Chantier = InputBox("Ce numéro de chantier est déjà attribué." & Chr(10) & "En attribuer un autre.")
End If
Next i
fType.Copy before:=fType 'On copie la feuille type
ActiveSheet.Name = Chantier 'On modifie la nouvelle feuille par le numéro de chantier
Worksheets(Chantier).Shapes.Range(Array("NouveauChantier")).Delete
fRecap.Activate 'On va dans la feuille récapitulative
lLigne = Cells(Rows.Count, 1).End(xlUp).Row 'On cherche la dernière ligne
Rows(lLigne).Copy Rows(lLigne + 1) 'On la copie colle à la ligne suivant
Range("A" & lLigne + 1) = Chantier 'On modifie le numéro de chantier
Range("B" & lLigne + 1) = nChantier 'On modifie le nom du chantier
With Range("A" & lLigne + 1 & ":I" & lLigne + 1).Borders(xlEdgeTop) 'On modifie l'aspect de la bordure haute de la dernière ligne
.LineStyle = xlContinuous
.Weight = xlHairline
End With
fType.Range("C3:G47,H1,A1:E1").ClearContents 'On nettoie la feuille type
Call TrierOnglets
End Sub
Sub TrierOnglets()
Dim Boucle As Integer, Compteur As Integer
For Boucle = 2 To Sheets.Count
For Compteur = 2 To (Boucle - 1)
If (UCase(Sheets(Boucle).Name) < UCase(Sheets(Compteur).Name)) Then
Sheets(Boucle).Move before:=Sheets(Compteur)
Exit For
End If
Next Compteur
Next Boucle
End Sub