Création d'onglet

Bonjour le forum,

je reprends un classeur excel qui mériterai d'être un peu plus "automatisé".

Pour cela je vais avoir plusieurs questions dont voici la première.

Je souhaiterai , à l'aide d'un bouton - macro créer plusieurs x onglets ( x étant un nombre dans une cellule)

Que ces onglets soient nommés . (les noms étant dans 5 cellules si bien sur x=5)

Que tous le contenu des onglets soient identiques à un onglet qui serait le modele.

Je joins un fichier pour mieux comprendre

Merci beaucoup

Phil

16onglets.xlsx (30.54 Ko)

Bonjour flm22,

Voici une réponse à ton problème.

Je reste disponible pour toute interrogation,

Sha'

27onglets.xlsm (22.06 Ko)

Bonjour et merci,

j'ai une erreur "1004" à la ligne

ActiveSheet.Name = Cells(9 + i, "E").Value

phil

Bonjour à tous,

Cette erreur survient car tu n'as pas insérer un "nom" pour l'onglet. Donc la macro ne sait pas comment nommer le nouvel onglet.

Cordialement,

Mugiwaraa

Bonjour, pour le fun. Vous avez juste à remplir le nom des onglets en colonne A er cliquer sur "ajouter".

21onglets-1.xlsm (20.24 Ko)
Mugiwaraa a écrit :

Bonjour à tous,

Cette erreur survient car tu n'as pas insérer un "nom" pour l'onglet. Donc la macro ne sait pas comment nommer le nouvel onglet.

Cordialement,

Mugiwaraa

+1

La cause, c'est sûrement ça.

Cordialement

Merci beaucoup à vous .

Machin, dans ton fichier , peux tu faire en sorte que la création des onglets se fasse juste après l'onglet à copier.

En effet, il se peut qu'il y ait plusieurs onglets et la création doit se faire entre l'onglet à copier et les autre onglets de droite.

Merci d'avance

Phil

Bonjour pas de souci :

Sub ot()
  Dim f As Worksheet, n
  i = 2
  While Feuil1.Cells(i, 1) <> ""
    n = UCase(Feuil1.Cells(i, 1))
    For Each f In Worksheets
      If f.Name = n Then
       Feuil1.Cells(i, 2) = Now()
       Feuil1.Cells(i, 3) = "Feuille déjà existante"
        GoTo suivant
      End If
    Next
    Feuil2.Copy after:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Name = n
    Sheets(n).Move after:=Feuil2
     Feuil1.Cells(i, 2) = Now()
     Feuil1.Cells(i, 3) = "Création de la feuille"
suivant:     i = i + 1
  Wend
Feuil1.Activate
  End Sub

Merci beaucoup !

Elle rapidité.

Bonne journée

Phil

De rien...Par contre mon code peu sûrement être optimisé mais si ça fonctionne, tant mieux.

Rechercher des sujets similaires à "creation onglet"