Ajout d'une feuille au double click

Résolu
yole -  
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,

Je souhaiterais ajouter une feuille portant le nom de la cellule au double click.

Jusque là tout va bien ça fonctionne mais mon problème c'est que cette nouvelle feuille je voudrais qu'elle soit créé à partir d'un modèle se trouvant dans la feuille modele.

Comment modifier mon vba pour obtenir ce que je souhaite :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim cel As Range
Dim ws As Worksheet
Dim Nom As String

If Target.Column <> 1 Then Exit Sub
On Error Resume Next
Nom = Target.Value
If Nom = "" Then Exit Sub
For Each ws In Worksheets
If ws.Name = Nom Then
Call MsgBox("La feuille avec ce nom existe déja.", vbCritical, "Impossible de créer une feuille")
Exit Sub
End If
Next ws
Sheets.Add , Sheets(Worksheets.Count)
ActiveSheet.Name = Nom
End Sub

En vous remerciant

2 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    Voici un exemple à adapter:

    https://www.cjoint.com/c/HIyrcuKuo7Q

    0
  2. yole
     
    Désolé mais je trouve pas
    0
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Je ne trouve pas quoi?

      Il y a un classeur à télécharger
      0
    2. yole
       
      quand je rajoute une feuille ça efface la précédente de plus je souhaite vraiment me servir de mon code avec le double click sur la cellule qui va rajouter la feuille il me manque plus que le modèle à l'intérieur de la feuille
      0
    3. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      C'est tout simple:

      dans l'exemple la feuille Active est la feuille2 et la feuille modèle la feuille 1 qui se trouve à gauche de la feuille 2.
      La nouvelle feuille va se trouver à droite de la feuille 2

      Option Explicit
      Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
      Dim cel As Range
      Dim ws As Worksheet
      Dim Nom As String
      
      If Target.Column <> 1 Then Exit Sub
      On Error Resume Next
      Nom = Target.Value
      If Nom = "" Then Exit Sub
      For Each ws In Worksheets
      If ws.Name = Nom Then
      Call MsgBox("La feuille avec ce nom existe déja.", vbCritical, "Impossible de créer une feuille")
      Exit Sub
      End If
      Next ws
      Sheets("Feuil1").Copy After:=Sheets(Worksheets.Count) 
      ActiveSheet.Name = Nom
      End Sub
      


      Voilà

      @+
      0
    4. yole
       
      ah oui c'est facile j'avais essayé ce code mais avec une erreur vraiment merci pour ton aide et ta réactivité
      0
    5. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Le problème c'est la position des feuilles

      Si c'est résolu, pense à cliquez sur Résolu avec la Roue crantée en haut à droite

      @+ Le Pivert
      0