Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mon code fonctionne qu'une seule fois

10 réponses
Avatar
crole
Bonjour =E0 tous le groupe,

J'avais pos=E9 la question, de savoir comment copier une feuille par
l'interm=E9diaire d'un bouton de commande et lui donn=E9 comme nom la
date du jour.
Le petit souci c'est que cela fonctionne qu'une seule fois et je dois
pouvoir encoder plusieurs feuille le m=EAme jour
Pour vous aidez voici le code actuel:

Sub Ajoutetefface()
ActiveSheet.Copy after:=3DSheets(Sheets.Count)
ActiveSheet.Name =3D Format(Now, "dd mmm yyyy")
Sheets("Fiche vide").Select
Range("B2:L2,B3:L3,B4:L4,R2:R3,A6:R30").Select
Range("A6").Activate
Selection.ClearContents
Range("B2:L2").Select
End sub

Merci =E0 tous pour vos r=E9ponse
Salutation
Bruno

10 réponses

Avatar
Lolote
Salut Crole,

A mon avis, il n'est pas possible de donner le même nom à plusieurs
feuilles, donc pas possible de nommer dans ton cas plusieurs feuilles par
jour.
Peut être voir une autre piste .....

@+ Lolote


"crole" a écrit dans le message de news:

Bonjour à tous le groupe,

J'avais posé la question, de savoir comment copier une feuille par
l'intermédiaire d'un bouton de commande et lui donné comme nom la
date du jour.
Le petit souci c'est que cela fonctionne qu'une seule fois et je dois
pouvoir encoder plusieurs feuille le même jour
Pour vous aidez voici le code actuel:

Sub Ajoutetefface()
ActiveSheet.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Format(Now, "dd mmm yyyy")
Sheets("Fiche vide").Select
Range("B2:L2,B3:L3,B4:L4,R2:R3,A6:R30").Select
Range("A6").Activate
Selection.ClearContents
Range("B2:L2").Select
End sub

Merci à tous pour vos réponse
Salutation
Bruno
Avatar
JièL Goubert
Bonjoir© crole

2 feuilles ne peuvent porter le même nom... et dans votre cas celles ci
prendraient le comme nom la date du jour.

--
JièL / Jean-Louis GOUBERT
La FAQ Outlook est la : http://faq.outlook.free.fr

Le 03/05/2006 15:17 vous avez écrit... :
Bonjour à tous le groupe,

J'avais posé la question, de savoir comment copier une feuille par
l'intermédiaire d'un bouton de commande et lui donné comme nom la
date du jour.
Le petit souci c'est que cela fonctionne qu'une seule fois et je dois
pouvoir encoder plusieurs feuille le même jour
Pour vous aidez voici le code actuel:

Sub Ajoutetefface()
ActiveSheet.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Format(Now, "dd mmm yyyy")
Sheets("Fiche vide").Select
Range("B2:L2,B3:L3,B4:L4,R2:R3,A6:R30").Select
Range("A6").Activate
Selection.ClearContents
Range("B2:L2").Select
End sub

Merci à tous pour vos réponse
Salutation
Bruno



Avatar
crole
Salut Lolote,

Serait-il possible alors de mettre la date du jour et par exemple 03
mai 2006 1

Merci
Salutation
Crole
Avatar
Ardus Petus
Comment veux-tu nommer les feuilles créées après la première ?
Tu ne peux pas avoir 2 feuilles avec le même nom.

Cordialement,
--
AP

"crole" a écrit dans le message de news:

Bonjour à tous le groupe,

J'avais posé la question, de savoir comment copier une feuille par
l'intermédiaire d'un bouton de commande et lui donné comme nom la
date du jour.
Le petit souci c'est que cela fonctionne qu'une seule fois et je dois
pouvoir encoder plusieurs feuille le même jour
Pour vous aidez voici le code actuel:

Sub Ajoutetefface()
ActiveSheet.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Format(Now, "dd mmm yyyy")
Sheets("Fiche vide").Select
Range("B2:L2,B3:L3,B4:L4,R2:R3,A6:R30").Select
Range("A6").Activate
Selection.ClearContents
Range("B2:L2").Select
End sub

Merci à tous pour vos réponse
Salutation
Bruno
Avatar
anonymousA
Bonjour,

Peut-être que tout simplement s'il existe déjà une feuille qui porte ce
nom, tu peux la copier puis en effacer les valeurs (de la nouvelle
copiée) et ensuite y mettre autre chose. Quand tu copies une feuille
existante dans le même classeur,Excel la renomme de manière identique en
y affectant un indice entre parenthèses, ce qui suffit peut-être à ton
bonheur.
Enfin, c'est juste mon avis.

A+


Bonjour à tous le groupe,

J'avais posé la question, de savoir comment copier une feuille par
l'intermédiaire d'un bouton de commande et lui donné comme nom la
date du jour.
Le petit souci c'est que cela fonctionne qu'une seule fois et je dois
pouvoir encoder plusieurs feuille le même jour
Pour vous aidez voici le code actuel:

Sub Ajoutetefface()
ActiveSheet.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Format(Now, "dd mmm yyyy")
Sheets("Fiche vide").Select
Range("B2:L2,B3:L3,B4:L4,R2:R3,A6:R30").Select
Range("A6").Activate
Selection.ClearContents
Range("B2:L2").Select
End sub

Merci à tous pour vos réponse
Salutation
Bruno



Avatar
crole
Bonjour,

Oui cela fera certainement mon bonheur, mais si cela n'est pas trop
demandé, comment écrire ce code.
Merci
Avatar
Ardus Petus
Soiution de facilité:

Sub Ajoutetefface()
ActiveSheet.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Format(Now, "dd mmm yyyy hh-mm-ss")
Sheets("Fiche vide").Select
Range("B2:L2,B3:L3,B4:L4,R2:R3,A6:R30").Select
Range("A6").Activate
Selection.ClearContents
Range("B2:L2").Select
End sub


"crole" a écrit dans le message de news:

Bonjour à tous le groupe,

J'avais posé la question, de savoir comment copier une feuille par
l'intermédiaire d'un bouton de commande et lui donné comme nom la
date du jour.
Le petit souci c'est que cela fonctionne qu'une seule fois et je dois
pouvoir encoder plusieurs feuille le même jour
Pour vous aidez voici le code actuel:

Sub Ajoutetefface()
ActiveSheet.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Format(Now, "dd mmm yyyy")
Sheets("Fiche vide").Select
Range("B2:L2,B3:L3,B4:L4,R2:R3,A6:R30").Select
Range("A6").Activate
Selection.ClearContents
Range("B2:L2").Select
End sub

Merci à tous pour vos réponse
Salutation
Bruno
Avatar
Lolote
Re-Salut Crole,

Solution plus longue que celle de Ardus Petrus mais qui marche aussi.

Sub Ajoutetefface()
Dim xNomFeuille
Dim xOnglet
Dim xCpt
Dim xParenthèse
xNomFeuille = Format(Now, "dd mmm yyyy")
ActiveSheet.Copy after:=Sheets(Sheets.Count)
On Error GoTo Erreur
Suite:
ActiveSheet.Name = xNomFeuille
Sheets("Fiche vide").Select
Range("B2:L2,B3:L3,B4:L4,R2:R3,A6:R30").Select
Range("A6").Activate
Selection.ClearContents
Range("B2:L2").Select
GoTo Fin
Erreur:
If Err.Number = 1004 Then
xCpt = 1
For Each xOnglet In ThisWorkbook.Sheets
xNomOnglet = xOnglet.Name
xParenthèse = InStr(xNomOnglet, "(")
If xParenthèse > 0 Then
xNomOnglet = Left(xNomOnglet, xParenthèse - 2)
End If
If xNomOnglet = xNomFeuille Then
xCpt = xCpt + 1
MsgBox "toto"
End If
Next
xNomFeuille = xNomFeuille & " (" & xCpt & ")"
End If
GoTo Suite
Fin:
End Sub

@+ Lolote

"crole" a écrit dans le message de news:

Bonjour à tous le groupe,

J'avais posé la question, de savoir comment copier une feuille par
l'intermédiaire d'un bouton de commande et lui donné comme nom la
date du jour.
Le petit souci c'est que cela fonctionne qu'une seule fois et je dois
pouvoir encoder plusieurs feuille le même jour
Pour vous aidez voici le code actuel:

Sub Ajoutetefface()
ActiveSheet.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Format(Now, "dd mmm yyyy")
Sheets("Fiche vide").Select
Range("B2:L2,B3:L3,B4:L4,R2:R3,A6:R30").Select
Range("A6").Activate
Selection.ClearContents
Range("B2:L2").Select
End sub

Merci à tous pour vos réponse
Salutation
Bruno
Avatar
anonymousA
Si j'essaye de suivre au plus près la logique de ton code :

Au lieu de

ActiveSheet.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Format(Now, "dd mmm yyyy")

écrire

ActiveSheet.Copy after:=Sheets(Sheets.Count)
Set actsh = ActiveSheet
On Error Resume Next
actsh.Name = Format(Now, "dd mmm yyyy")
If Err.Number <> 0 Then
Sheets(Format(Now, "dd mmm yyyy")).Copy after:=Sheets(Sheets.Count)
ActiveSheet.Cells.Clear
Application.DisplayAlerts = False
actsh.Delete
Application.DisplayAlerts = True
Err.Clear
End If
On Error GoTo 0

Ce faisant, s'il existe déjà une feuille portant le nom du jour,alors
celle-ci sera dupliquée avec un indice incrémenté. Sinon, une nouvelle
feuille sera créée avec le nom du jour

A+

Bonjour,

Oui cela fera certainement mon bonheur, mais si cela n'est pas trop
demandé, comment écrire ce code.
Merci



Avatar
crole
Merci Lolote
Merci Ardus
Merci Anonymus
et ceux qui ont participés
les deux fonctionne

Amicalement
Crole