Bonjour,
D'habitude, je trouve rapidement en cherchant sur le net mais la, je n'arrive pas.
Je souhaite dupliquer et renommer des onglets mais en choisissant l'emplacement (après la feuille active).
Voici mon code actuelle, il fonctionne mais il place les onglets à la fin.
Merci de votre aide
D'habitude, je trouve rapidement en cherchant sur le net mais la, je n'arrive pas.
Je souhaite dupliquer et renommer des onglets mais en choisissant l'emplacement (après la feuille active).
Voici mon code actuelle, il fonctionne mais il place les onglets à la fin.
VB:
Public Sub CreerMarches()
Dim oShModele As Worksheet 'variable de type feuille
Dim oShListe As Worksheet 'variable de type feuille
Dim iLig As Integer 'variable de type nombre entier
Dim oShNew As Worksheet 'variable de type feuille
Dim sNomOnglet As String 'variable de type texte
Set oShModele = Worksheets("Marche type") 'donne une valeur à la variable
Set oShListe = Worksheets("Récap Entreprises") 'donne une valeur à la variable
oShModele.Visible = True 'afficher le modele
For iLig = 10 To 29 'boucle de la ligne 10 à la ligne 29
If oShListe.Range("C" & iLig).Value <> 0 Then 'si la ligne est non vide
sNomOnglet = oShListe.Range("A" & iLig).Value & " " & oShListe.Range("B" & iLig).Value
'Affectation du nom de la feuille à la variable
If OngletExist(sNomOnglet) Then 'vérification que la feuille n'existe pas à la fonction OngletExist
Set oShNew = Worksheets(sNomOnglet) 'variable oShNew devient sNomOnglet
Else
oShModele.Copy After:=Worksheets(Worksheets.Count) 'sinon, on duplique le modèle après la dernière feuille du classeur
Worksheets(Worksheets.Count).Name = sNomOnglet 'on renomme la dernière feuille du classeur en sNomOnglet
Set oShNew = Worksheets(sNomOnglet) 'variable oShNew devient sNomOnglet
End If
oShNew.Range("E13").Value = oShListe.Range("C" & iLig).Value 'Nom
oShNew.Range("E14").Value = oShListe.Range("F" & iLig).Value 'Adresse
oShNew.Range("E15").Value = oShListe.Range("E" & iLig).Value 'CP
oShNew.Range("F15").Value = oShListe.Range("D" & iLig).Value 'Villes
oShNew.Range("E16").Value = oShListe.Range("G" & iLig).Value 'Téléphone
oShNew.Range("E17").Value = oShListe.Range("H" & iLig).Value 'Mail
oShNew.Range("C38").Value = oShListe.Range("A" & iLig).Value 'num lot
oShNew.Range("D38").Value = oShListe.Range("B" & iLig).Value 'nom lot
oShNew.Range("F38").Value = oShListe.Range("K" & iLig).Value '% tva
oShNew.Range("G38").Value = oShListe.Range("J" & iLig).Value 'TTC
oShNew.Hyperlinks.Add Anchor:=oShListe.Range("C" & iLig), Address:="", SubAddress:= _
"'" & sNomOnglet & "'!A1", TextToDisplay:=oShListe.Range("C" & iLig).Value 'lien hypertext
Set oShNew = Nothing 'on vide la variable
End If
Next iLig
oShModele.Visible = False 'cache le modele
oShListe.Select 'on selectionne la feuille
Set oShListe = Nothing
Set oShModele = Nothing
End Sub
Merci de votre aide