Bonjour,
j'ai besoin d'un coup de main.
Dans un classeur, j'ai une feuille nommée "Activités".
En colonne A se trouve la liste des activités.
Je souhaite en double cliquant sur une activité, Ajouter au classeur une feuille type (elle s'appelle "model" dans mon classeur) qui porte de nom de l'activité, et dont la case A1 a pour valeur le nom de l'activité sur laquelle j'ai cliqué (ou le nom de la fiche créée puisque c'est le même...)
Suis-je clair ?
j'utilise cette fonction:
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
Sheets("Model").Select.Copy
Sheets(Nom).Select.Paste
End Sub
Malheureusement, ça ne fonctionne pas...
Ca créé bien la fiche avec le bon nom, mais une fiche vide, pas avec mon model....
merci de m'aider, je perd un temps fou...
ciao
@+
j'ai besoin d'un coup de main.
Dans un classeur, j'ai une feuille nommée "Activités".
En colonne A se trouve la liste des activités.
Je souhaite en double cliquant sur une activité, Ajouter au classeur une feuille type (elle s'appelle "model" dans mon classeur) qui porte de nom de l'activité, et dont la case A1 a pour valeur le nom de l'activité sur laquelle j'ai cliqué (ou le nom de la fiche créée puisque c'est le même...)
Suis-je clair ?
j'utilise cette fonction:
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
Sheets("Model").Select.Copy
Sheets(Nom).Select.Paste
End Sub
Malheureusement, ça ne fonctionne pas...
Ca créé bien la fiche avec le bon nom, mais une fiche vide, pas avec mon model....
merci de m'aider, je perd un temps fou...
ciao
@+