Choisir où s'ouvre un onglet

Bonjour à tous,

j'ai un code VBA qui ouvre plusieurs onglets excels dans mon fichier. est-ce possible de définir à quelle place les ouvre-t-on ?
Voici une capture pour être plus clair :

image

Est ce que dans le code on peut définir que Feuil 1 2 et 3 soient les premières pages ?

Voici mon code :

Sub ouvrir_onglets()

Application.ScreenUpdating = True

Dim myPath As String, myFile As Variant
Dim wkbk As Workbook

myPath = "C:\Users\XXXXXX\Desktop\2020-07-01\"

myFile = Dir(myPath & "\*.xls*")

c = 2

Do While myFile <> ""

Cells(c, 1) = myFile

Set wkbk = Workbooks.Open(myPath & myFile)

wkbk.Activate

wkbk.ActiveSheet.Copy After:=ThisWorkbook.Sheets(Sheets.Count)
wkbk.Close SaveChanges:=False
myFile = Dir()

c = c + 1

Loop

End Sub

Merci beaucoup!

Bonjour,

Pas sûr d'avoir bien compris la demande, mais actuellement tu copies tes onglets en dernière position. Si ce n'est pas ton souhait, c'est à ce niveau qu'il faut changer le code :

'Copie la feuille active après la dernière feuille du classeur contenant la macro
wkbk.ActiveSheet.Copy After:=ThisWorkbook.Sheets(Sheets.Count)

Edit : salut Steelson !

Bonjour,

Tu peux glisser manuellement un onglet et le mettre dans un ordre différent

En VBA, modifie ceci

wkbk.ActiveSheet.Copy After:=ThisWorkbook.Sheets(3)

il sera toujours ajouté en 4ème position... à moins que je n'aies pas tout à fait saisi ta question !

Bonjour Pedro

Waouh la rapidité des réponses, merci beaucoup, enfaite je souhaiterai que les onglets rajoutés se mettent toujours en dernière position au fur et à mesure du traitement

Waouh la rapidité des réponses, merci beaucoup, enfaite je souhaiterai que les onglets rajoutés se mettent toujours en dernière position au fur et à mesure du traitement

Et bien c'est à priori déjà le cas !

Edit :

J'ai trouvé le soucis, il faut changer Sheets.Count par ThisWorkbook.Sheets.Count. En l'absence de précision, c'est le nombre de feuille du classeur actif et non du classeur contenant la macro.

non, ils s'ouvrent après la Feuil1 en laissant Feuil2 et 3 en dernier

non, ils s'ouvrent après la Feuil1 en laissant Feuil2 et 3 en dernier

J'ai répondu un peu vite, j'ai modifié ma réponse précédente...

Oui ça fonctionne! Merci beaucoup Pedro, merci beaucoup Steelson, et merci le forum !

Oui ça fonctionne! Merci beaucoup Pedro, merci beaucoup Steelson, et merci le forum !

Merci du retour, pour la validation, et bon courage pour la suite !

Rechercher des sujets similaires à "choisir ouvre onglet"