Création d'onglet en fonction d'une colonne dynamique

Bonjour,

Je souhaiterai créer (avec votre aide ) une macro qui me permettra de créer un onglet pour chaque valeur différente d'une colonne. Je m'explique :

Dans une feuille "Nomenclature" ; j'ai en colonne E:

Villes

Lille

Nantes

Bordeaux

Lyon

Je voudrais créer automatiquement par le biais d'une macro les onglets suivants "Lille" et "Nantes" avec :

Pour l'onglet "Lille" les données de la feuille "G3"

De même que le nombre de création d'onglet en fonction des valeurs est différent d'une semaine, à une autre.

si on découpe mon raisonnement on aura donc besoin :

  • d'une boucle qui passe sur les éléments de la colonne E
  • d'une création d'une nouvelle feuille
  • du renommage de la dite nouvelle feuille

Si vous avez une idée car je sais faire quelque truc mais j'ai un mal fou sur celle ci

En vous remerciant par avance

Bonjour

midou a écrit :

- d'une boucle qui passe sur les éléments de la colonne E

  • d'une création d'une nouvelle feuille
  • du renommage de la dite nouvelle feuille

A tester

Option Explicit

Sub CreationFeuilles()
Dim J As Long

  Application.ScreenUpdating = False

  With Sheets("Nomenclature")
    For J = 2 To .Range("E" & Rows.Count).End(xlUp).Row
      If FeuilleExiste(.Range("E" & J).Value) = False Then
        Sheets.Add(after:=Sheets(Sheets.Count)).Name = .Range("E" & J).Value
      End If
    Next J
  End With
End Sub

Function FeuilleExiste(Nom As String) As Boolean
  On Error Resume Next
  FeuilleExiste = Sheets(Nom).Name <> ""
  On Error GoTo 0
End Function

Bonjour Banzai,

Merci c'est exactement se que je veux mais je voudrais aussi copier et coller le texte de la feuille nommé G3 dans chaque feuille.

Bonjour

midou a écrit :

je voudrais aussi copier et coller le texte de la feuille nommé G3 dans chaque feuille.

Bien sur rajoutes la ligne surlignée

Option Explicit

Sub CreationFeuilles()
Dim J As Long

  Application.ScreenUpdating = False

  With Sheets("Nomenclature")
    For J = 2 To .Range("E" & Rows.Count).End(xlUp).Row
      If FeuilleExiste(.Range("E" & J).Value) = False Then
        Sheets.Add(after:=Sheets(Sheets.Count)).Name = .Range("E" & J).Value
        Range("A1") = .Range("G3")
      End If
    Next J
  End With
End Sub

Function FeuilleExiste(Nom As String) As Boolean
  On Error Resume Next
  FeuilleExiste = Sheets(Nom).Name <> ""
  On Error GoTo 0
End Function

Le code que tu as écris rajoute une cellule je veux rajouter le texte et les formules contenu dans la Feuille nommé "G3".

Les formules contenu dans G3 contiennent des formules qui prennent en compte le nom de la feuille. Le copier coller va t il changer les résultats en meme temps?

Bonjour

C'est peut-être à ce moment là que tu vas te dire "Tiens si j'envoie un fichier"

Voila mon fichier alors il ne ressemble pas à grand chose(je n'ai laissé que le nécessaire). Mais l'idée y est.

41bdd.zip (58.74 Ko)

Bonjour

En surligné les changements

Option Explicit

Sub CreationFeuilles()
Dim J As Long

  Application.ScreenUpdating = False

  With Sheets("Nomenclature")
    For J = 3 To .Range("E" & Rows.Count).End(xlUp).Row
      If FeuilleExiste(.Range("E" & J).Value) = False Then
        Sheets.Add(after:=Sheets(Sheets.Count)).Name = .Range("E" & J).Value
        Sheets("G3").Cells.Copy Range("A1")
        Range("A1") = .Range("E" & J)
      End If
    Next J
  End With
End Sub

Function FeuilleExiste(Nom As String) As Boolean
  On Error Resume Next
  FeuilleExiste = Sheets(Nom).Name <> ""
  On Error GoTo 0
End Function

Tu es un Patron.

Je te remercie vraiment fort!

Je viens de voir que tu es du 64 moi je suis de NAY.

Bonne soirée

Je me demandais serait il possible de remplacer dans le code, les feuilles par de nouveau document? Nommé du nom de la ville avec dedans la feuille du nom de la ville et la feuille nommé nomenclature?

Bonjour

(Nous à Jurançon -Plus de c..s que de maisons- on dit Bonjour )

Alors la tu prépares un fichier avec ce que tu as au départ et le résultat attendu

Même en lisant plusieurs fois ta phrase, je ne saisis pas

Bonjour,

Je cherche à présent a ajouter à cette macro, un code pour faire la meme chose mais avec un fichier PpT.

Meme colonne, mais créer les fichier ptt en prenant pour base non plus les onglets mais un fichier Ppt deja présent se nommant base.ppt.

Je voudrais donc

Lyon.ppt

Paris.ppt

Avec dans chaque fichier le contenu du fichier base.

Je ne trouve pas le code pour créer un fichier Ppt

J'imagine qu'il faut reprendre le code existant.

Rechercher des sujets similaires à "creation onglet fonction colonne dynamique"