Commande sur une Main courante

Bonjour a tous et meilleurs vœux pour cette année 2023

Je souhaiterais des experts de cette communauté un petit peu d'aide, je pense que pour vous ce ne sera pas grand chose: j'ai repris le modèle d'une main courante. et je voudrais incorporer quelques commandes notamment au niveau enregistrement des feuilles et archivages. j'ai quelques notion mais pas pour ces fonctions

J'ai 3 boutons et je souhaiterais que le

- 1er enregistre sous un nouvel onglet la feuille "modèle" renommée avec la date et le service en cours en onglet et quelle reste active pendant tout le service afin de pouvoir la renseigner tout au long du service: et passé l'heure qu'un nouveau onglet avec le nouveau service se crée.

- le 2ème que la feuille s'archive dans un dossier sur le disque qui se créer en auto tous les mois

et le 3ème un reset de la feuille "modèle" des données renseignées

sur le fichier j'ai mis un peu plus d'infos quant a l'utilisation.

merci d'avance pour l'aide apportée

Bonjour et bonne année

Je te propose cette macro pour la question 1 :

Elle duplique l'onglet avec pour nom la date et l'horaire, et met un mot de passe sur ce nouvel onglet ainsi que la feuille modèle.

Sub dupliquer_onglet()

Dim nom As String
nom = Worksheets("modele").Range("A6") & " " & Worksheets("modele").Range("E6")
nom = Replace(nom, "/", "-")

With Worksheets("modele")
    .Activate ' Activer la feuille 22
    .Copy before:=Worksheets(Sheets.Count)
    .Name = nom
    .Protect "2023" ' protéger feuille copiée
End With
Worksheets("modele (2)").Name = "modele"
Worksheets("modele").Protect "2023" ' Protéger feuille modèle
End Sub

Bonjour et meilleurs voeux

Ci joint ma proposition. le mot de passe est ton pseudo

a la prise de poste on clic sur prise de poste (feuille accueil)

copie de la feuille "modele" et création de la nouvelle feuille qui sera rempli pendant le quart

A+ François

Super merci cela corespondrais a mes besoins, toutefois l'ai juste quelques remarques, peux tu me dire ou se trouve le mot de passa que tu as mis pour le changer:

est plutot que de le mettre sur la partie archivage, peux tu le mettre pour éviter la suppression des feuille et du modele.

De meme que je ne trouve pas la ligne pour inclure le chemin pour l'archivage, peux tu me la reperer stp

en tout cas excellent travail merci d'avance

Le mot de passe est en AF1 sur la feuille "modele"

Les feuilles sont toutes protégées avec le même mot de passe après leur utilisation

le chemin de l'archivage: on part du chemin du fichier dans la macro archive

  chemin = ActiveWorkbook.Path 'dossier du fichier
  ThisWorkbook.Save
  NomDossier = chemin & "\" & Format(Range("A6"), "mmmm")

Si tu veux le changer c'est NomDossier=ton chemin & "\" & Format(Range("A6"), "mmmm")

exemple: NomDossier="f:\archive\" & Format(Range("A6"), "mmmm")

A+ François

merci mais j'ai le soucis après avoir rentré le chemin

voici ce que j'ai mis cela est correcte pour le chemin ?

Sub archive()
UserForm1.Show
If ctrl = False Then Exit Sub
Dim encours As String, chemin As String
Dim NomDossier As String, dossExiste As String, NomFichier As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
encours = ActiveWorkbook.Name
chemin = ActiveWorkbook.Path
ThisWorkbook.Save
NomDossier = "U:\CDS\Archives main courante 2023\" & Format(Range("A6"), "mmmm")
dossExiste = Dir(NomDossier, vbDirectory)
If dossExiste = "" Then MkDir ThisWorkbook.Path & "U:\CDS\Archives main courante 2023\" & Format(Range("A6"), "mmmm")
NomFichier = ActiveSheet.Name & ".xlsm"
ActiveWorkbook.SaveAs Filename:=chemin & "U:\CDS\Archives main courante 2023\" & Format(Range("A6"), "mmmm") & "U:\CDS\Archives main courante 2023\" & NomFichier, FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Workbooks.Open Filename:=chemin & ""U:\CDS\Archives main courante 2023\" & encours
Windows(NomFichier).Activate
ActiveWorkbook.Close
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Sub archive()
UserForm1.Show
If ctrl = False Then Exit Sub
Dim encours As String, chemin As String
Dim NomDossier As String, dossExiste As String, NomFichier As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
encours = ActiveWorkbook.Name
chemin = ActiveWorkbook.Path
ThisWorkbook.Save
NomDossier = "U:\CDS\Archives main courante 2023\" & Format(Range("A6"), "mmmm")
dossExiste = Dir(NomDossier, vbDirectory)
If dossExiste = "" Then MkDir "U:\CDS\Archives main courante 2023\" & Format(Range("A6"), "mmmm")
NomFichier = ActiveSheet.Name & ".xlsm"
ActiveWorkbook.SaveAs Filename:="U:\CDS\Archives main courante 2023\" & Format(Range("A6"), "mmmm") & "\" & NomFichier, FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Workbooks.Open Filename:=chemin & "\" & encours
Windows(NomFichier).Activate
ActiveWorkbook.Close
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Quelques erreurs corrigées...

A+ François

Bonjour

super merci tout fonctionne bien. c'est cool d'avoir des pros pour t'aider

bonne fin de journée

Rechercher des sujets similaires à "commande main courante"