XL pour MAC macro excel enregister sous contenu cellule et demander chemin d'enregistrement

  • Initiateur de la discussion Initiateur de la discussion lyes123456
  • 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 !

lyes123456

XLDnaute Nouveau
Bonsoir
je cherche une macro pour le fichier excel en PJ,
l'utilisateur doit remplir les champs désignés, une fois rempli, la macro doit lui demander ou il doit enregistrer son fichier excel
bien sure, je veux que le nom du fichier soit le contenu de la cellule H8 qui doit être rempli par l'utilisateur
une fois enregistrer le fichier reste ouvert, si jamais une autre modification est a faire, le fichier s'enregistre avec les dernières modifications
je ne sais pas si ma demande est complexe, mais est ce que vous avez une idée?
votre support est appréciable, merci
 

Pièces jointes

Bonjour lyes123456, bienvenue sur XLD,

La feuille est protégée par mot de passe, comment modifier la cellule H8 ?

Et êtes-vous sûr qu'il s'agit de H8 car elle contient le texte "FRAIS SPOT NBR JOUR" ???

Essayez cette macro mais sur MAC pas du tout certain que Application.GetSaveAsFilename fonctionne :
VB:
Sub Enregistrer()
Dim fichier As Variant
fichier = Sheets("CALCUL").[H8]
ChDir ThisWorkbook.Path
fichier = Application.GetSaveAsFilename(fichier, "Excel Files (*.xlsm), *.xlsm")
Application.DisplayAlerts = False
If fichier <> False Then ThisWorkbook.SaveAs fichier
End Sub
A+
 
Bonjour le fil, lyes123456, job75

Pour infos
La feuille est protégée mais sans mot de passe.
(J'ai fait: Ôter la protection de la feuille et pas de prompt pour un mot de passe)
Et non, ne fonctionnera pas sur Mac

NB:
Job, on a en d'ailleurs récemment échangé à ce sujet sur un autre fil 😉
 
Dernière édition:
Re

Actuellement sous XL2K3, j'ai donc du convertir le *.xlsm en *.xls
Je suis étonné que cette conversion* supprime le mot de passe.
???

*: réalisée avec le pack de compatibilité pour Microsoft Office 2000, Office XP ou Office 2003 mis à disposition par Microsoft et que j'avais téléchargé à l'époque sur ce PC.
 
Dernière édition:
JM sur le lien que tu as mis on ne dit pas que la fonction ne marche pas sur MAC, par contre je lis :
'Note: InitialFilename is the only parameter that works on a Mac
Alors essayer :
VB:
Sub Enregistrer()
Dim fichier As Variant
fichier = Sheets("CALCUL").[H8] 'nom sans extension
ChDir ThisWorkbook.Path
fichier = Application.GetSaveAsFilename(fichier)
If fichier <> False Then ThisWorkbook.SaveAs fichier & ".xlsm"
End Sub
Edit : il faut ajouter l'extension .xlsm.
 
Dernière édition:
On peut aussi utiliser Application.FileDialog :
VB:
Sub Enregistrer2()
ChDir ThisWorkbook.Path
With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "DOSSIER D'ENREGISTREMENT"
    If Not .Show Then Exit Sub
    ThisWorkbook.SaveAs .SelectedItems(1) & Application.PathSeparator & Sheets("CALCUL").[H8], FileFormat:=52
End With
End Sub
 
Bonjour lyes123456, bienvenue sur XLD,

La feuille est protégée par mot de passe, comment modifier la cellule H8 ?

Et êtes-vous sûr qu'il s'agit de H8 car elle contient le texte "FRAIS SPOT NBR JOUR" ???

Essayez cette macro mais sur MAC pas du tout certain que Application.GetSaveAsFilename fonctionne :
VB:
Sub Enregistrer()
Dim fichier As Variant
fichier = Sheets("CALCUL").[H8]
ChDir ThisWorkbook.Path
fichier = Application.GetSaveAsFilename(fichier, "Excel Files (*.xlsm), *.xlsm")
Application.DisplayAlerts = False
If fichier <> False Then ThisWorkbook.SaveAs fichier
End Sub
A+


Bonjour

merci pour ces reponses, mais effectivement c'est de prendre en charge ce qui est ecrit dans la cellule H1 et non pas H8 (erreur de ma part)

pour ce qui est des protection, effectivement j'ai envoyer la version proteger (erreur aussi de ma part) mais apres lecture, je vois que la protection a ete oter, donc par de probleme dans ce cas

pour ce qui est de la macro

est ce que c'est la derniere version qu'il faut prendre ou non ?
 
Bonjour

ci joint le resultat apres macro

mais, ce qui me manque c'esr un enregistrement automatique apres remplissage des cases

aussi, si jamais on doit quitter, la macro doit proposee l'enregistrement sous le nom de la cellule H1

dans l'attente de vous lire ci joint la feuille non protegee
 

Pièces jointes

mais, ce qui me manque c'esr un enregistrement automatique apres remplissage des cases
Voyez le fichier joint et cette macro dans le code de la feuille CALCUL (clic droit sur l'onglet et Visualiser le code) :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim fichier As Variant
With [H1]
    If LCase(.Value) & ".xlsm" = LCase(ThisWorkbook.Name) Then Exit Sub
    If .Value = "" Then .Value = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5): Exit Sub
    ChDir ThisWorkbook.Path
    fichier = Application.GetSaveAsFilename(.Value)
    If fichier = False Then .Value = "": Exit Sub
    fichier = Left(fichier, InStrRev(fichier, Application.PathSeparator)) & .Value & ".xlsm"
End With
Application.DisplayAlerts = False 'si le fichier existe déjà
ThisWorkbook.SaveAs fichier
End Sub
 

Pièces jointes

- 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

Discussions similaires

Réponses
3
Affichages
773
Retour