La nouvelle feuille est donc une copie conforme de feuil1 sauf pour les
boutons de commande que cette dernière contient. D'où ma question :
comment faire pour que les boutons de commandes inclus sur feuil1 soient
également copiés (avec leurs propriétés) ?
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
michdenis
Bonjour Gastibelza,
Essaie quelque chose comme ceci :
'-------------------------- Sub copierUneFeuille()
Dim Nom As Variant, F As String Nom = Format(Application.InputBox("Nom", , , , , , , 2)) If Nom = "False" Then Exit Sub Application.ScreenUpdating = False F = ActiveSheet.Name Worksheets("Feuil1").Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = Nom Sheets(F).Activate
End Sub '--------------------------
Salutations!
"Gastibelza" a écrit dans le message de news: Bonsoir,
Je me sers d'une feuille de base (Feuil1) pour créer d'autres feuilles et j'utilise donc la routine suivante :
Dim Sht As Worksheet, nom As String
nom = InputBox("Nom") If nom <> "" Then On Error Resume Next Set Sht = Sheets(nom) On Error GoTo 0 If Sht Is Nothing Then Sheets.Add.Name = nom End If
La nouvelle feuille est donc une copie conforme de feuil1 sauf pour les boutons de commande que cette dernière contient. D'où ma question : comment faire pour que les boutons de commandes inclus sur feuil1 soient également copiés (avec leurs propriétés) ?
-- Amicalement,
Laurent
Bonjour Gastibelza,
Essaie quelque chose comme ceci :
'--------------------------
Sub copierUneFeuille()
Dim Nom As Variant, F As String
Nom = Format(Application.InputBox("Nom", , , , , , , 2))
If Nom = "False" Then Exit Sub
Application.ScreenUpdating = False
F = ActiveSheet.Name
Worksheets("Feuil1").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = Nom
Sheets(F).Activate
End Sub
'--------------------------
Salutations!
"Gastibelza" <gastybellesa@wanadoo.invalid.fr> a écrit dans le message de news:cbfgvg.3vvjerd.2@gastibelza.mdr...
Bonsoir,
Je me sers d'une feuille de base (Feuil1) pour créer d'autres feuilles et
j'utilise donc la routine suivante :
Dim Sht As Worksheet, nom As String
nom = InputBox("Nom")
If nom <> "" Then
On Error Resume Next
Set Sht = Sheets(nom)
On Error GoTo 0
If Sht Is Nothing Then Sheets.Add.Name = nom
End If
La nouvelle feuille est donc une copie conforme de feuil1 sauf pour les
boutons de commande que cette dernière contient. D'où ma question :
comment faire pour que les boutons de commandes inclus sur feuil1 soient
également copiés (avec leurs propriétés) ?
'-------------------------- Sub copierUneFeuille()
Dim Nom As Variant, F As String Nom = Format(Application.InputBox("Nom", , , , , , , 2)) If Nom = "False" Then Exit Sub Application.ScreenUpdating = False F = ActiveSheet.Name Worksheets("Feuil1").Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = Nom Sheets(F).Activate
End Sub '--------------------------
Salutations!
"Gastibelza" a écrit dans le message de news: Bonsoir,
Je me sers d'une feuille de base (Feuil1) pour créer d'autres feuilles et j'utilise donc la routine suivante :
Dim Sht As Worksheet, nom As String
nom = InputBox("Nom") If nom <> "" Then On Error Resume Next Set Sht = Sheets(nom) On Error GoTo 0 If Sht Is Nothing Then Sheets.Add.Name = nom End If
La nouvelle feuille est donc une copie conforme de feuil1 sauf pour les boutons de commande que cette dernière contient. D'où ma question : comment faire pour que les boutons de commandes inclus sur feuil1 soient également copiés (avec leurs propriétés) ?
-- Amicalement,
Laurent
ChrisV
Bonjour Gastibelza,
Ou encore, afin de gérer l'erreur d'exécution si des caractères non-autorisés sont employés dans le nom du nouvel onglet, et/ou permettre l'utilsation d'une chaîne de caractères numériques...
(associée à un bouton de commande..)
Private Sub CommandButton1_Click() Dim Rep As String, asH As String On Error Resume Next asH = ActiveSheet.Name msg = "Vous allez créer une nouvelle feuille à partir de " _ & "ce modèle." & vbCrLf msg = msg & vbCrLf & "Comment voulez-vous nommer la nouvelle " _ & "feuille ?" Rep = InputBox(msg, "Saisie du nom") If Rep = "" Then Exit Sub Sheets("Feuil1").Copy After:=Worksheets(Worksheets.Count) ActiveSheet.Name = Rep If Err.Number <> 0 Then MsgBox Error(Err) Application.DisplayAlerts = False ActiveSheet.Delete End If Sheets(asH).Activate End Sub
ChrisV
"Gastibelza" a écrit dans le message de news:
Bonsoir,
Je me sers d'une feuille de base (Feuil1) pour créer d'autres feuilles et j'utilise donc la routine suivante :
Dim Sht As Worksheet, nom As String
nom = InputBox("Nom") If nom <> "" Then On Error Resume Next Set Sht = Sheets(nom) On Error GoTo 0 If Sht Is Nothing Then Sheets.Add.Name = nom End If
La nouvelle feuille est donc une copie conforme de feuil1 sauf pour les boutons de commande que cette dernière contient. D'où ma question : comment faire pour que les boutons de commandes inclus sur feuil1 soient également copiés (avec leurs propriétés) ?
-- Amicalement,
Laurent
Bonjour Gastibelza,
Ou encore, afin de gérer l'erreur d'exécution si des caractères
non-autorisés sont employés dans le nom du nouvel onglet, et/ou permettre
l'utilsation d'une chaîne de caractères numériques...
(associée à un bouton de commande..)
Private Sub CommandButton1_Click()
Dim Rep As String, asH As String
On Error Resume Next
asH = ActiveSheet.Name
msg = "Vous allez créer une nouvelle feuille à partir de " _
& "ce modèle." & vbCrLf
msg = msg & vbCrLf & "Comment voulez-vous nommer la nouvelle " _
& "feuille ?"
Rep = InputBox(msg, "Saisie du nom")
If Rep = "" Then Exit Sub
Sheets("Feuil1").Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Rep
If Err.Number <> 0 Then
MsgBox Error(Err)
Application.DisplayAlerts = False
ActiveSheet.Delete
End If
Sheets(asH).Activate
End Sub
ChrisV
"Gastibelza" <gastybellesa@wanadoo.invalid.fr> a écrit dans le message de
news:cbfgvg.3vvjerd.2@gastibelza.mdr...
Bonsoir,
Je me sers d'une feuille de base (Feuil1) pour créer d'autres feuilles et
j'utilise donc la routine suivante :
Dim Sht As Worksheet, nom As String
nom = InputBox("Nom")
If nom <> "" Then
On Error Resume Next
Set Sht = Sheets(nom)
On Error GoTo 0
If Sht Is Nothing Then Sheets.Add.Name = nom
End If
La nouvelle feuille est donc une copie conforme de feuil1 sauf pour les
boutons de commande que cette dernière contient. D'où ma question :
comment faire pour que les boutons de commandes inclus sur feuil1 soient
également copiés (avec leurs propriétés) ?
Ou encore, afin de gérer l'erreur d'exécution si des caractères non-autorisés sont employés dans le nom du nouvel onglet, et/ou permettre l'utilsation d'une chaîne de caractères numériques...
(associée à un bouton de commande..)
Private Sub CommandButton1_Click() Dim Rep As String, asH As String On Error Resume Next asH = ActiveSheet.Name msg = "Vous allez créer une nouvelle feuille à partir de " _ & "ce modèle." & vbCrLf msg = msg & vbCrLf & "Comment voulez-vous nommer la nouvelle " _ & "feuille ?" Rep = InputBox(msg, "Saisie du nom") If Rep = "" Then Exit Sub Sheets("Feuil1").Copy After:=Worksheets(Worksheets.Count) ActiveSheet.Name = Rep If Err.Number <> 0 Then MsgBox Error(Err) Application.DisplayAlerts = False ActiveSheet.Delete End If Sheets(asH).Activate End Sub
ChrisV
"Gastibelza" a écrit dans le message de news:
Bonsoir,
Je me sers d'une feuille de base (Feuil1) pour créer d'autres feuilles et j'utilise donc la routine suivante :
Dim Sht As Worksheet, nom As String
nom = InputBox("Nom") If nom <> "" Then On Error Resume Next Set Sht = Sheets(nom) On Error GoTo 0 If Sht Is Nothing Then Sheets.Add.Name = nom End If
La nouvelle feuille est donc une copie conforme de feuil1 sauf pour les boutons de commande que cette dernière contient. D'où ma question : comment faire pour que les boutons de commandes inclus sur feuil1 soient également copiés (avec leurs propriétés) ?
-- Amicalement,
Laurent
Gastibelza
Bonjour michdenis,
Essaie quelque chose comme ceci :
Sub copierUneFeuille()
Merci beaucoup, ça fonctionne parfaitement :-)
Nom = Format(Application.InputBox("Nom", , , , , , , 2))
Je ne comprends pas toutes ces virgules et le 2 après le "Nom". Peut-on m'expliquer la syntaxe ? C'est subsidiaire mais bon... je préfèrerais comprendre.
Encore merci à toi.
-- Amicalement,
Laurent
Bonjour michdenis,
Essaie quelque chose comme ceci :
Sub copierUneFeuille()
Merci beaucoup, ça fonctionne parfaitement :-)
Nom = Format(Application.InputBox("Nom", , , , , , , 2))
Je ne comprends pas toutes ces virgules et le 2 après le "Nom". Peut-on
m'expliquer la syntaxe ?
C'est subsidiaire mais bon... je préfèrerais comprendre.
Nom = Format(Application.InputBox("Nom", , , , , , , 2))
Je ne comprends pas toutes ces virgules et le 2 après le "Nom". Peut-on m'expliquer la syntaxe ? C'est subsidiaire mais bon... je préfèrerais comprendre.
Encore merci à toi.
-- Amicalement,
Laurent
Gastibelza
Bonjour ChrisV,
Ou encore, afin de gérer l'erreur d'exécution si des caractères non-autorisés sont employés dans le nom du nouvel onglet, et/ou permettre l'utilsation d'une chaîne de caractères numériques...
Merci ! Cette macro fonctionne également parfaitement même si je ne pense pas être obligé de gérer des erreurs dans le nom du nouvel onglet puisqu'il devrait s'agir de patronymes... mais sait-on jamais.
Merci :-)
-- Amicalement,
Laurent
Bonjour ChrisV,
Ou encore, afin de gérer l'erreur d'exécution si des caractères
non-autorisés sont employés dans le nom du nouvel onglet, et/ou permettre
l'utilsation d'une chaîne de caractères numériques...
Merci ! Cette macro fonctionne également parfaitement même si je ne pense
pas être obligé de gérer des erreurs dans le nom du nouvel onglet
puisqu'il devrait s'agir de patronymes... mais sait-on jamais.
Ou encore, afin de gérer l'erreur d'exécution si des caractères non-autorisés sont employés dans le nom du nouvel onglet, et/ou permettre l'utilsation d'une chaîne de caractères numériques...
Merci ! Cette macro fonctionne également parfaitement même si je ne pense pas être obligé de gérer des erreurs dans le nom du nouvel onglet puisqu'il devrait s'agir de patronymes... mais sait-on jamais.
Merci :-)
-- Amicalement,
Laurent
michdenis
Bonjour Gastibelza,
Application.InputBox a plusieurs paramètres, et comme je ne nomme pas explicitement les paramètres que je renseigne, je dois inclure chacune des virgules qu'il y a entre le paramètre intiales ("Nom" pour le Prompt" et le dernier paramètre (Type = 2) que je renseigne... et c'est la façon de faire pour toutes les méthodes
J'aurais pu écrire ceci en nommant explicitement les paramètres.
Application.InputBox(Prompt:="Nom", Type:= 2))
Dans l'aide tu trouveras à quoi sert le type et le 2 utilisé .
Salutations!
"Gastibelza" a écrit dans le message de news: Bonjour michdenis,
Essaie quelque chose comme ceci :
Sub copierUneFeuille()
Merci beaucoup, ça fonctionne parfaitement :-)
Nom = Format(Application.InputBox("Nom", , , , , , , 2))
Je ne comprends pas toutes ces virgules et le 2 après le "Nom". Peut-on m'expliquer la syntaxe ? C'est subsidiaire mais bon... je préfèrerais comprendre.
Encore merci à toi.
-- Amicalement,
Laurent
Bonjour Gastibelza,
Application.InputBox a plusieurs paramètres, et comme je ne nomme pas explicitement les paramètres que je renseigne, je
dois inclure chacune des virgules qu'il y a entre le paramètre intiales ("Nom" pour le Prompt" et le dernier paramètre
(Type = 2) que je renseigne... et c'est la façon de faire pour toutes les méthodes
J'aurais pu écrire ceci en nommant explicitement les paramètres.
Application.InputBox(Prompt:="Nom", Type:= 2))
Dans l'aide tu trouveras à quoi sert le type et le 2 utilisé .
Salutations!
"Gastibelza" <gastybellesa@wanadoo.invalid.fr> a écrit dans le message de news:cbi3ma.3vvgnbf.2@gastibelza.mdr...
Bonjour michdenis,
Essaie quelque chose comme ceci :
Sub copierUneFeuille()
Merci beaucoup, ça fonctionne parfaitement :-)
Nom = Format(Application.InputBox("Nom", , , , , , , 2))
Je ne comprends pas toutes ces virgules et le 2 après le "Nom". Peut-on
m'expliquer la syntaxe ?
C'est subsidiaire mais bon... je préfèrerais comprendre.
Application.InputBox a plusieurs paramètres, et comme je ne nomme pas explicitement les paramètres que je renseigne, je dois inclure chacune des virgules qu'il y a entre le paramètre intiales ("Nom" pour le Prompt" et le dernier paramètre (Type = 2) que je renseigne... et c'est la façon de faire pour toutes les méthodes
J'aurais pu écrire ceci en nommant explicitement les paramètres.
Application.InputBox(Prompt:="Nom", Type:= 2))
Dans l'aide tu trouveras à quoi sert le type et le 2 utilisé .
Salutations!
"Gastibelza" a écrit dans le message de news: Bonjour michdenis,
Essaie quelque chose comme ceci :
Sub copierUneFeuille()
Merci beaucoup, ça fonctionne parfaitement :-)
Nom = Format(Application.InputBox("Nom", , , , , , , 2))
Je ne comprends pas toutes ces virgules et le 2 après le "Nom". Peut-on m'expliquer la syntaxe ? C'est subsidiaire mais bon... je préfèrerais comprendre.
Encore merci à toi.
-- Amicalement,
Laurent
ChrisV
De rien...! >;-)
ChrisV
"Gastibelza" a écrit dans le message de news:
Bonjour ChrisV,
Ou encore, afin de gérer l'erreur d'exécution si des caractères non-autorisés sont employés dans le nom du nouvel onglet, et/ou permettre
l'utilsation d'une chaîne de caractères numériques...
Merci ! Cette macro fonctionne également parfaitement même si je ne pense pas être obligé de gérer des erreurs dans le nom du nouvel onglet puisqu'il devrait s'agir de patronymes... mais sait-on jamais.
Merci :-)
-- Amicalement,
Laurent
De rien...! >;-)
ChrisV
"Gastibelza" <gastybellesa@wanadoo.invalid.fr> a écrit dans le message de
news:cbi4n6.3vvgipv.2@gastibelza.mdr...
Bonjour ChrisV,
Ou encore, afin de gérer l'erreur d'exécution si des caractères
non-autorisés sont employés dans le nom du nouvel onglet, et/ou
permettre
l'utilsation d'une chaîne de caractères numériques...
Merci ! Cette macro fonctionne également parfaitement même si je ne pense
pas être obligé de gérer des erreurs dans le nom du nouvel onglet
puisqu'il devrait s'agir de patronymes... mais sait-on jamais.
Ou encore, afin de gérer l'erreur d'exécution si des caractères non-autorisés sont employés dans le nom du nouvel onglet, et/ou permettre
l'utilsation d'une chaîne de caractères numériques...
Merci ! Cette macro fonctionne également parfaitement même si je ne pense pas être obligé de gérer des erreurs dans le nom du nouvel onglet puisqu'il devrait s'agir de patronymes... mais sait-on jamais.