Modifier ce code pour enregistrer seulement ma feuille active

amauryde

XLDnaute Occasionnel
:mad:

Bonjour à tous,

J'essaye tant bien que mal de modifier ce code qui enregistre tout mon document pour enregistrer seulement ma feuille active dans le même répertoire que mon fichier Excel

Public Sub GuardarProveedor() 'copie sauvegarde feuille
Dim Nom As String
Nom = [B26].Value & "_" & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "_" & Hour(Time) & "h" & Minute(Time) & "-" & ActiveWorkbook.Name

ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\" & Nom
rep = MsgBox("El reporte del proveedor ha sido guardado en: " & Nom, vbYes + vbInformation, "Guardar el reporte")
End Sub

PS: B26 est une cellule de ma feuille active

Merci d'avance pour votre aide
 

Papou-net

XLDnaute Barbatruc
Re : Modifier ce code pour enregistrer seulement ma feuille active

Bonjour amauryde,

Comme ceci peut-être (pas testé) :

Code:
ActiveSheet.Copy
ActiveWorkbook.SaveAs ActiveWorkbook.Path & "\" & Nom

Les autres lignes restant à l'identique.

Cordialement.
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Modifier ce code pour enregistrer seulement ma feuille active

Bonjour amauryde, Bonjour Papou-net,

peut-être

Code:
Public Sub GuardarProveedor() 'copie sauvegarde feuille
Dim Nom As String, Chem as String
    Nom = [B26].Value & "_" & Day(Date) & "-" &  Month(Date) & "-" & Year(Date) & "_" & Hour(Time) &  "h" & Minute(Time) & "-" & ActiveWorkbook.Name
Chem = Activeworkbook.path
ActiveSheet.Copy
    ActiveWorkbook.SaveAs Chem & "\" & Nom
    rep = MsgBox("El reporte del proveedor ha sido guardado en: " & Nom, vbYes + vbInformation, "Guardar el reporte")
End Sub
 

amauryde

XLDnaute Occasionnel
Re : Modifier ce code pour enregistrer seulement ma feuille active

merci Toti mais j'obtiens un message d'erreur, voici un fichier test

par exemple j'essaye d'enregistrer la feuille test: il y a un bouton guardar au bas de la page mais impossible :(
 

Pièces jointes

  • test.xlsm
    87.5 KB · Affichages: 60
  • test.xlsm
    87.5 KB · Affichages: 70
  • test.xlsm
    87.5 KB · Affichages: 59

Efgé

XLDnaute Barbatruc
Re : Modifier ce code pour enregistrer seulement ma feuille active

Bonjour amauryde, Bonjour Papou-net , Bonjour tototiti2008 :) _ Comme le fil est "Toute version", sous 2003 il y a deux problémes qui se résolvent en mettant
VB:
ActiveSheet.[B26]
et en décochant la référennce manquante
VB:
Microsoft Office 12.0 Object Library
J'en profite pour proposer :
VB:
    Nom = ActiveSheet.[B26].Value & "_" & Format(Now, "dd-mm-yyyy_hh""h""mm") & "-" & Split(ActiveWorkbook.Name, ".")(0) & ".xls"
Cordialement
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Modifier ce code pour enregistrer seulement ma feuille active

Bonjour tototiti2008,

Re amauryde,

Apparemment, il manque deux fichiers dans les références VBA.

Voir image dans fichier ci-joint.
oUeK+K0TBZ8AAAAASUVORK5CYII=


Il faut les charger pour que cela fonctionne.

Cordialement.

Edit :
Bonjour Efgé : sur 2010 le problème est le même.
 

Pièces jointes

  • armauryde.xlsm
    115.4 KB · Affichages: 59
Dernière édition:

amauryde

XLDnaute Occasionnel
Re : Modifier ce code pour enregistrer seulement ma feuille active

ça marche merci à vous :), puis-je vous soumettre un ultime problème cete fois-ci en enregistrement automatique que j'ai programmé

voila: je veux programmer l'enregistrement du dossier en cas de panne de système, toutes les 5 min pour celà j'ai mis:

-dans le thisworkbook:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.OnTime Now + TimeValue("00:05:00"), "EnregistrerFichier"
End Sub
-et j'ai créer un module 6 avec:

Sub EnregistrerFichier()
Dim Nom As String
Nom = "grabacion automatico para recuperacion"
ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\" & "Grabacion automatica" & Nom
End Sub

Mais rien ne sa passe automatiquement^^, si vous pouvez m'expliquer un peu

Merci d'avance
 

tototiti2008

XLDnaute Barbatruc
Re : Modifier ce code pour enregistrer seulement ma feuille active

Bonjoue Efgé :),
Re,

ça veut dire que dès que tu change la selection d'une cellule dans le classeur, ça entraine un enregistrement 5 minutes plus tard, si tu te déplaces dans la feuille de calcul avec les flèches de déplacements par exemple, chaque changement de cellule va lancer ta macro, je crois que c'est idéal pour faire planter ton Excel parce qu'il voudra enregistrer en permanence...

Sinon, je ne sais pas pourquoi ça ne marche pas, EnregistrerSous est dans un module ?
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 737
Messages
2 091 500
Membres
104 961
dernier inscrit
LE GÉNIE ABDOU MAIGA