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 SubBonjour 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 SubQuelques 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