Comment ajouter une feuille automatiquement

  • Initiateur de la discussion Initiateur de la discussion DURDUR
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

DURDUR

Guest
Bonsoir à tous,

Á l'aide d'un bouton, je voudrais ajouter une feuille à la fin du classeur.
- Elle devra porter le nom de la précédente+un n° d'ordre (comment doit-on nommer ces feuilles pour faciliter le n° d'ordre).
- Elle sera vide à l'exception des cellules de report ( J4,K4 et L4) qui auront les valeurs des cellules J19,K19 et L19 de la feuille précédente.

Avant de créer cette feuille, il faudra tester si elle n'existe pas déjà, auquel cas la création sera annulée.

Merci de votre aide.

JCB57
 
Re : Comment ajouter une feuille automatiquement

Bonsoir

Affecter ce code au bouton

Code:
Sub Macro4()
Dim x As Long, y As Long, z As Long
x = Sheets.Count
Sheets.Add After:=Sheets(x)
ActiveSheet.Name = "temp"
y = Sheets.Count - 1
Sheets(y).Select
Range("J4:L4").Copy Sheets("temp").Range("J19")
z = Sheets.Count - 1
Sheets("temp").Name = "Feuille N-" & z + 1
End Sub
 
Re : Comment ajouter une feuille automatiquement

Merci de cette réponse rapide, mais à l'essai, je dois dire que mon ennoncé ne doit pas être très clair.

Quand je dis que la feuille doit être vide, ce n'est pas tout à fait ça.
Il faut faire une copie de la feuille précédente, mais sans les données contenues de A4 à L18.
Quand aux cellules J19 à L19, c'est leur contenu qui doit être reportés, pas la formule.

Est ce mieux comme ça ?

JCB57
 
Re : Comment ajouter une feuille automatiquement

Re


Essayes le code suivant
Code:
Sub Macro4()
Dim x As Long: Dim nom As String: x = Sheets.Count
Sheets(x).Copy After:=Sheets(x)
With ActiveSheet
    nom = Right(Sheets(x - 1).Name, 1) + 1
    .Name = nom
    Union(.Range("a4:i4"), .Range("a5:L18")).Clear
    .Range("J4:L4").Copy Range("J19")
    .Range("J19:L19").Value = Range("J19:L19").Value
    .Range("J4:L4").Clear
End With
End Sub
 
Re : Comment ajouter une feuille automatiquement

Bonjour,

Merci pour le nouveau code.

Après adaptation, il fait exactement ce que je cherchais (voir fichier).

Une fois la nouvelle feuille créée, peut-on effacer ou rendre inactif le bouton de création dans la feuille précédente ?
C'est pour éviter la création d'une nouvelle fiche, qui chronologiquement prend bien sa place, mais comporte les reports de la feuille qui à servi à la création.

JCB57
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour