J'ai essay=E9 de modifier une macro trouv=E9e sur le site
http://dj.joss.free.fr/feuil.htm.
La macro du site fonctionne :
Ins=E8re des feuilles et les nomme suivant une liste
Cr=E9ez une liste de noms et s=E9lectionnez la avant de lancer la macro
Sub FeuilViaLst()
Dim Mycell As Range, Mysheet As Worksheet, MyName$
For Each Mycell In Selection 'liste de noms
MyName =3D Mycell.Value
If MyName <> "" Then
On Error Resume Next
Set Mysheet =3D Sheets(MyName)
On Error GoTo 0
If Mysheet Is Nothing Then Sheets.Add.Name =3D MyName
End If
Next Mycell
End Sub
Ma macro l=E9g=E8rement modifi=E9e ne c=E9er qu'une feuille, la premi=E8re
de la liste les autres sont ignor=E9es.
Private Sub CommandButton1_Click()
Dim Mycell As Range, Mysheet As Worksheet, MyName$
For Each Mycell In Range("E9:E13") 'liste de noms
MyName =3D Mycell.Value
If MyName <> "" Then
On Error Resume Next
Set Mysheet =3D Sheets(MyName)
On Error GoTo 0
If Mysheet Is Nothing Then Sheets.Add.Name =3D MyName
End If
Next Mycell
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacky
Bonjour,
Elle fonctionne très bien ta macro. Testée ici: http://cjoint.com/?bmqDazJdq7
Salutations JJ
"Tintin92" a écrit dans le message de news: Bonjour,
J'ai essayé de modifier une macro trouvée sur le site http://dj.joss.free.fr/feuil.htm.
La macro du site fonctionne :
Insère des feuilles et les nomme suivant une liste
Créez une liste de noms et sélectionnez la avant de lancer la macro Sub FeuilViaLst() Dim Mycell As Range, Mysheet As Worksheet, MyName$ For Each Mycell In Selection 'liste de noms MyName = Mycell.Value If MyName <> "" Then On Error Resume Next Set Mysheet = Sheets(MyName) On Error GoTo 0 If Mysheet Is Nothing Then Sheets.Add.Name = MyName End If Next Mycell End Sub
Ma macro légèrement modifiée ne céer qu'une feuille, la première de la liste les autres sont ignorées.
Private Sub CommandButton1_Click() Dim Mycell As Range, Mysheet As Worksheet, MyName$
For Each Mycell In Range("E9:E13") 'liste de noms MyName = Mycell.Value If MyName <> "" Then On Error Resume Next Set Mysheet = Sheets(MyName) On Error GoTo 0 If Mysheet Is Nothing Then Sheets.Add.Name = MyName End If Next Mycell End Sub
Ou est mon erreur ?
Merci
Tintin92
Bonjour,
Elle fonctionne très bien ta macro.
Testée ici:
http://cjoint.com/?bmqDazJdq7
Salutations
JJ
"Tintin92" <tintin922006-google@yahoo.fr> a écrit dans le message de
news:1137078676.172834.203810@g44g2000cwa.googlegroups.com...
Bonjour,
J'ai essayé de modifier une macro trouvée sur le site
http://dj.joss.free.fr/feuil.htm.
La macro du site fonctionne :
Insère des feuilles et les nomme suivant une liste
Créez une liste de noms et sélectionnez la avant de lancer la macro
Sub FeuilViaLst()
Dim Mycell As Range, Mysheet As Worksheet, MyName$
For Each Mycell In Selection 'liste de noms
MyName = Mycell.Value
If MyName <> "" Then
On Error Resume Next
Set Mysheet = Sheets(MyName)
On Error GoTo 0
If Mysheet Is Nothing Then Sheets.Add.Name = MyName
End If
Next Mycell
End Sub
Ma macro légèrement modifiée ne céer qu'une feuille, la première
de la liste les autres sont ignorées.
Private Sub CommandButton1_Click()
Dim Mycell As Range, Mysheet As Worksheet, MyName$
For Each Mycell In Range("E9:E13") 'liste de noms
MyName = Mycell.Value
If MyName <> "" Then
On Error Resume Next
Set Mysheet = Sheets(MyName)
On Error GoTo 0
If Mysheet Is Nothing Then Sheets.Add.Name = MyName
End If
Next Mycell
End Sub
Elle fonctionne très bien ta macro. Testée ici: http://cjoint.com/?bmqDazJdq7
Salutations JJ
"Tintin92" a écrit dans le message de news: Bonjour,
J'ai essayé de modifier une macro trouvée sur le site http://dj.joss.free.fr/feuil.htm.
La macro du site fonctionne :
Insère des feuilles et les nomme suivant une liste
Créez une liste de noms et sélectionnez la avant de lancer la macro Sub FeuilViaLst() Dim Mycell As Range, Mysheet As Worksheet, MyName$ For Each Mycell In Selection 'liste de noms MyName = Mycell.Value If MyName <> "" Then On Error Resume Next Set Mysheet = Sheets(MyName) On Error GoTo 0 If Mysheet Is Nothing Then Sheets.Add.Name = MyName End If Next Mycell End Sub
Ma macro légèrement modifiée ne céer qu'une feuille, la première de la liste les autres sont ignorées.
Private Sub CommandButton1_Click() Dim Mycell As Range, Mysheet As Worksheet, MyName$
For Each Mycell In Range("E9:E13") 'liste de noms MyName = Mycell.Value If MyName <> "" Then On Error Resume Next Set Mysheet = Sheets(MyName) On Error GoTo 0 If Mysheet Is Nothing Then Sheets.Add.Name = MyName End If Next Mycell End Sub
Ou est mon erreur ?
Merci
Tintin92
Tintin92
Merci. ça marche maintenant. Je ne m'explique pas pourquoi celà ne semblait pas fonctionner tout à l'heure. Seule une page était créée.
Tintin92
Merci.
ça marche maintenant.
Je ne m'explique pas pourquoi celà ne semblait pas fonctionner tout à
l'heure.
Seule une page était créée.
Merci. ça marche maintenant. Je ne m'explique pas pourquoi celà ne semblait pas fonctionner tout à l'heure. Seule une page était créée.
Tintin92
Tintin92
J'ai fait des tests plus approfondis, et à mon avis cette macro n'est pas parfaite, en tout cas pour ce que je veux en faire. Si la première des feuilles est déjà créée elle zappe la créati on des feuilles suivantes. Dans ton exemple si la feuille 'aaa' est déjà créée elle ne céée pas les suivantes. Donc je vais voir à les supprimer toutes dans un premier temps.
Tintin92
J'ai fait des tests plus approfondis, et à mon avis cette macro n'est
pas parfaite, en tout cas pour ce que je veux en faire.
Si la première des feuilles est déjà créée elle zappe la créati on
des feuilles suivantes.
Dans ton exemple si la feuille 'aaa' est déjà créée elle ne céée
pas les suivantes.
Donc je vais voir à les supprimer toutes dans un premier temps.
J'ai fait des tests plus approfondis, et à mon avis cette macro n'est pas parfaite, en tout cas pour ce que je veux en faire. Si la première des feuilles est déjà créée elle zappe la créati on des feuilles suivantes. Dans ton exemple si la feuille 'aaa' est déjà créée elle ne céée pas les suivantes. Donc je vais voir à les supprimer toutes dans un premier temps.
Tintin92
Jacky
Re.. Je n'avais pas testé aussi loin. Personnellement j'utiliserai ceci: '--------- Private Sub CommandButton1_Click() Dim SheetName As String Dim i As Integer, bExist As Boolean On Error Resume Next For Each c In Range("E9:E13") SheetName = c bExist = False bExist = IsObject(Sheets(SheetName)) If Not bExist Then Sheets.Add.Name = SheetName Next c End Sub '----------
Salutations JJ
"Tintin92" a écrit dans le message de news: J'ai fait des tests plus approfondis, et à mon avis cette macro n'est pas parfaite, en tout cas pour ce que je veux en faire. Si la première des feuilles est déjà créée elle zappe la création des feuilles suivantes. Dans ton exemple si la feuille 'aaa' est déjà créée elle ne céée pas les suivantes. Donc je vais voir à les supprimer toutes dans un premier temps.
Tintin92
Re..
Je n'avais pas testé aussi loin.
Personnellement j'utiliserai ceci:
'---------
Private Sub CommandButton1_Click()
Dim SheetName As String
Dim i As Integer, bExist As Boolean
On Error Resume Next
For Each c In Range("E9:E13")
SheetName = c
bExist = False
bExist = IsObject(Sheets(SheetName))
If Not bExist Then Sheets.Add.Name = SheetName
Next c
End Sub
'----------
Salutations
JJ
"Tintin92" <tintin922006-google@yahoo.fr> a écrit dans le message de
news:1137084044.511419.276900@g43g2000cwa.googlegroups.com...
J'ai fait des tests plus approfondis, et à mon avis cette macro n'est
pas parfaite, en tout cas pour ce que je veux en faire.
Si la première des feuilles est déjà créée elle zappe la création
des feuilles suivantes.
Dans ton exemple si la feuille 'aaa' est déjà créée elle ne céée
pas les suivantes.
Donc je vais voir à les supprimer toutes dans un premier temps.
Re.. Je n'avais pas testé aussi loin. Personnellement j'utiliserai ceci: '--------- Private Sub CommandButton1_Click() Dim SheetName As String Dim i As Integer, bExist As Boolean On Error Resume Next For Each c In Range("E9:E13") SheetName = c bExist = False bExist = IsObject(Sheets(SheetName)) If Not bExist Then Sheets.Add.Name = SheetName Next c End Sub '----------
Salutations JJ
"Tintin92" a écrit dans le message de news: J'ai fait des tests plus approfondis, et à mon avis cette macro n'est pas parfaite, en tout cas pour ce que je veux en faire. Si la première des feuilles est déjà créée elle zappe la création des feuilles suivantes. Dans ton exemple si la feuille 'aaa' est déjà créée elle ne céée pas les suivantes. Donc je vais voir à les supprimer toutes dans un premier temps.
Tintin92
Tintin92
Merci. ça marche beaucoup mieux.
Tintin92
PS J'ai rajouté un : If c.Value <> "" Then pour mes besoins propres
Merci.
ça marche beaucoup mieux.
Tintin92
PS
J'ai rajouté un :
If c.Value <> "" Then
pour mes besoins propres
PS J'ai rajouté un : If c.Value <> "" Then pour mes besoins propres
Jacky
Re.. J'ai oublié de nommer les participants à la construction de ce code: En grande partie: Jacques93 et AnonymousA Céline Brien Isabelle
Je leurs dois bien cela. JJ
"Tintin92" a écrit dans le message de news: Merci. ça marche beaucoup mieux.
Tintin92
PS J'ai rajouté un : If c.Value <> "" Then pour mes besoins propres
Re..
J'ai oublié de nommer les participants à la construction de ce code:
En grande partie:
Jacques93
et
AnonymousA
Céline Brien
Isabelle
Je leurs dois bien cela.
JJ
"Tintin92" <tintin922006-google@yahoo.fr> a écrit dans le message de
news:1137090664.865625.41660@g43g2000cwa.googlegroups.com...
Merci.
ça marche beaucoup mieux.
Tintin92
PS
J'ai rajouté un :
If c.Value <> "" Then
pour mes besoins propres