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
| Option Explicit
Sub CreationNouveauClient()
Dim ShClients As Worksheet
Dim ShNouveauClient As Worksheet
Dim ShModele As Worksheet
Dim CelluleClient As Range
Dim NomNouvelleFeuille As String
Dim NomFeuilleClient As String
Dim DerniereLigneClients As Long
Dim DerniereColonneACopier As Long
' Identification de la feuille Clients
Set ShClients = Sheets("Clients")
NomFeuilleClient = "'" & ShClients.Name & "'" ' Pour les liens hypertextes
DerniereLigneClients = ShClients.Cells(ShClients.Rows.Count, 1).End(xlUp).Row
DerniereColonneACopier = 9 ' A définir
Set CelluleClient = ShClients.Cells(DerniereLigneClients, 1)
CelluleClient.Hyperlinks.Delete
Set ShModele = Sheets("Modèle client")
' Création d'une nouvelle feuille client à partir du modèle
ShModele.Copy after:=Sheets(Sheets.Count) ' On place la nouvelle feuille en dernier
' Création d'une nouvelle feuille client
' Sheets.Add after:=Sheets(Sheets.Count) ' On place la nouvelle feuille en dernier
Set ShNouveauClient = ActiveSheet
ShNouveauClient.Name = CelluleClient & "(" & Sheets.Count & ")" ' A modifier si besoin, mais attention à l'homonymie des clients
NomNouvelleFeuille = "'" & ShNouveauClient.Name & "'" ' Pour les liens hypertextes
' Copie des informations de la feuille clients sur la nouvelle feuille client
Range(ShClients.Cells(CelluleClient.Row, 1), ShClients.Cells(CelluleClient.Row, DerniereColonneACopier)).Copy
ShNouveauClient.Cells(2, 1).Select
ShNouveauClient.Paste
' On crée un lien hypertexte entre la nouvelle feuille client et le client de la feuille des clients
ShNouveauClient.Hyperlinks.Add Anchor:=ShNouveauClient.Range("A1"), Address:="", SubAddress:=NomFeuilleClient & "!A" & CelluleClient.Row, TextToDisplay:=CelluleClient.Value
' Crée un lien hypertexte du client de la feuille clients avec la nouvelle feuille
ShClients.Hyperlinks.Add Anchor:=CelluleClient, Address:="", SubAddress:=NomNouvelleFeuille & "!A1", TextToDisplay:=CelluleClient.Value
ShClients.Activate
CelluleClient.Offset(1, 0).Select
Set ShModele = Nothing
Set CelluleClient = Nothing
Set ShNouveauClient = Nothing
Set ShClients = Nothing
End Sub |
Partager