Recherche d'un code de sauvegarde avec macro
petitpeppino
Messages postés
22
Statut
Membre
-
Bidouilleu_R Messages postés 1209 Statut Membre -
Bidouilleu_R Messages postés 1209 Statut Membre -
Bonjour,
Pouvez vous m'aidez. Je suis a la recherche d'un code VBA qui me sauvegarderai une seule feuille sur 3 dans un dossier et non tous le fichiers et qui serais sauvegarder par date et par nom sans écraser a chaque fois la précédante et tous ceci en cliquant sur un bouton.
Ce serait vraiment génial si vous pouviez m'aidez a faire ceci.
Pouvez vous m'aidez. Je suis a la recherche d'un code VBA qui me sauvegarderai une seule feuille sur 3 dans un dossier et non tous le fichiers et qui serais sauvegarder par date et par nom sans écraser a chaque fois la précédante et tous ceci en cliquant sur un bouton.
Ce serait vraiment génial si vous pouviez m'aidez a faire ceci.
A voir également:
- Recherche d'un code de sauvegarde avec macro
- Logiciel de sauvegarde gratuit - Guide
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
20 réponses
Place se code dans un module de ton classeur
et test
et test
Sub SauvegardeUneFeuille()
'
' bidouilleu_R
'
Dim NomDate As String
Dim Nom As String
Dim Chemin As String
Chemin = ThisWorkbook.Path
NomDate = Format(Date, "DDMMYYY")
Nom = "_nom" ' ici le nom que tu veux
Sheets("feuil1").Select ' ici à adapter à ta feuille
Cells.Select ' on selectionne toute la feuille ( pour les puristes c'est pas utile je sais)
Selection.Copy ' on copie
Workbooks.Add ' on crée un nouveau classeur
Range("A1").Select
ActiveSheet.Paste ' on colle
'on ne garde qu'une feuille
Application.DisplayAlerts = False
While Sheets.Count > 2
Sheets(2).Delete
Wend
Application.DisplayAlerts = True
' on sauvegarde sous date + nom à définir
ActiveWorkbook.SaveAs Chemin & PathSeparator & NomDate & Nom & ".xls"
ActiveWorkbook.Close
Application.CutCopyMode = False
Range("A1").Select
End Sub
Merci pour le code. Je viens d'essayer mais j'ai un message: Erreur de compilation.
En fait j'ai créer un bouton (bouton 11 à renomer), une fenêtre affecter une macro apparait automatiquement
avec Bouton11_Quand click je fait nouveau puis le module apparait et j'y est mis ton code en dessous de Bouton11_Quand click, mais apparemment il y a un problème avec la macro mais quoi?
Je me permet de recoller ici le code pour voir comment je doit faire ma macro.
Mon problème et pardonne moi c'est que je connait pas grand chose.
Sub Bouton11_QuandClic() s'affiche en jaune l'erreur est là, je l'efface mais ça ne va toujours pas
Sub SauvegardeUneFeuille()
'
' bidouilleu_R
'
Dim NomDate As String
Dim Nom As String
Dim Chemin As String
Chemin = ThisWorkbook.Path
NomDate = Format(Date, "DDMMYYY")
Nom = "_nom" ' ici le nom que tu veux
Sheets("Facture").Select ' ici à adapter à ta feuille
Cells.Select ' on selectionne toute la feuille ( pour les puristes c'est pas utile je sais)
Selection.Copy ' on copie
Workbooks.Add ' on crée un nouveau classeur
Range("A1").Select
ActiveSheet.Paste ' on colle
'on ne garde qu'une feuille
Application.DisplayAlerts = False
While Sheets.Count > 2
Sheets(2).Delete
Wend
Application.DisplayAlerts = True
' on sauvegarde sous date + nom à définir
ActiveWorkbook.SaveAs Chemin & PathSeparator & NomDate & Nom & ".xls"
ActiveWorkbook.Close
Application.CutCopyMode = False
Range("A1").Select
End Sub
J'ai créer un dossier Facturation dans C:/Documents and Settings/Joseph/Facturations.xls
et c'est dans ce dossier que j'ai prévu de sauvegarder toutes mes factures, mais rien que la feuille facture.
Merci de perdre du temps avec moi
En fait j'ai créer un bouton (bouton 11 à renomer), une fenêtre affecter une macro apparait automatiquement
avec Bouton11_Quand click je fait nouveau puis le module apparait et j'y est mis ton code en dessous de Bouton11_Quand click, mais apparemment il y a un problème avec la macro mais quoi?
Je me permet de recoller ici le code pour voir comment je doit faire ma macro.
Mon problème et pardonne moi c'est que je connait pas grand chose.
Sub Bouton11_QuandClic() s'affiche en jaune l'erreur est là, je l'efface mais ça ne va toujours pas
Sub SauvegardeUneFeuille()
'
' bidouilleu_R
'
Dim NomDate As String
Dim Nom As String
Dim Chemin As String
Chemin = ThisWorkbook.Path
NomDate = Format(Date, "DDMMYYY")
Nom = "_nom" ' ici le nom que tu veux
Sheets("Facture").Select ' ici à adapter à ta feuille
Cells.Select ' on selectionne toute la feuille ( pour les puristes c'est pas utile je sais)
Selection.Copy ' on copie
Workbooks.Add ' on crée un nouveau classeur
Range("A1").Select
ActiveSheet.Paste ' on colle
'on ne garde qu'une feuille
Application.DisplayAlerts = False
While Sheets.Count > 2
Sheets(2).Delete
Wend
Application.DisplayAlerts = True
' on sauvegarde sous date + nom à définir
ActiveWorkbook.SaveAs Chemin & PathSeparator & NomDate & Nom & ".xls"
ActiveWorkbook.Close
Application.CutCopyMode = False
Range("A1").Select
End Sub
J'ai créer un dossier Facturation dans C:/Documents and Settings/Joseph/Facturations.xls
et c'est dans ce dossier que j'ai prévu de sauvegarder toutes mes factures, mais rien que la feuille facture.
Merci de perdre du temps avec moi
avec Bouton11_Quand click je fait nouveau puis le module apparait et j'y est mis ton code en dessous de Bouton11_Quand click, mais apparemment il y a un problème avec la macro mais quoi?
Voici ce que tu va faire:
1) mettre ton fichier dans C:/Documents and Settings/Joseph/
2) click sur bouton 11 / modifier le code
tu mets ça.... et rien de plus.
Bouton11_Quand click()
SauvegardeUneFeuille ' ça c'est l'appelle de la macro.
end sub
3)
A partir de la feuille excel tu fais:
Alt F11 (raccourci pour ouvrir l'editeur VBA) - puis Insertion / module
cela va créer une feuille qui va s'appeller Module1 le curseur clignote sur une feuille vide
à cette endroit place le code de la macro que je t'ai transmis.
4) enregistre
5)Alt F11 (retourne) sur la feuille excel
6) click sur le bouton
Et s'il y a une erreur reviens me le dire...
le code a été testé sous excel 2007
Voici ce que tu va faire:
1) mettre ton fichier dans C:/Documents and Settings/Joseph/
2) click sur bouton 11 / modifier le code
tu mets ça.... et rien de plus.
Bouton11_Quand click()
SauvegardeUneFeuille ' ça c'est l'appelle de la macro.
end sub
3)
A partir de la feuille excel tu fais:
Alt F11 (raccourci pour ouvrir l'editeur VBA) - puis Insertion / module
cela va créer une feuille qui va s'appeller Module1 le curseur clignote sur une feuille vide
à cette endroit place le code de la macro que je t'ai transmis.
4) enregistre
5)Alt F11 (retourne) sur la feuille excel
6) click sur le bouton
Et s'il y a une erreur reviens me le dire...
le code a été testé sous excel 2007
Merci pour l'aide que tu m'apporte mais il n'y a rien a faire ça ne va pas, il m'affiche une erreur de compilation:
instruction incorrect à l'extérieur d'une procédure.
Moi j'ai Excel 2002.
J'ai déjà un code insérer dans ThisWorkbook qui m'enregistre tous mon classeur par date du jour et cela fonctionne, mais elle me demande enregistrer sous.
Est ce que je peux modifier celui là pour m'enregistrer ma feuille facture et seulement celle là par nom aussi et qui se trouve en F8 sur ma feuille facture et B2 sur ma feuille de donnée.
Si c'est le cas qu'est ce je peut modifier ou ajouter.
Voici mon code
Private Sub Workbook_Open()
Dim mDate As String
mDate = Date
mDate = Replace(mDate, "/", "")
Application.DisplayAlerts = False 'Désactive les alertes Excel
ThisWorkbook.SaveAs Filename:="C:\Documents and Settings\Joseph" & mDate & ".xls"
Application.DisplayAlerts = True 'Active les alertes Excel
End Sub
En tout cas c'est très gentil de perdre ton temps avec moi.
instruction incorrect à l'extérieur d'une procédure.
Moi j'ai Excel 2002.
J'ai déjà un code insérer dans ThisWorkbook qui m'enregistre tous mon classeur par date du jour et cela fonctionne, mais elle me demande enregistrer sous.
Est ce que je peux modifier celui là pour m'enregistrer ma feuille facture et seulement celle là par nom aussi et qui se trouve en F8 sur ma feuille facture et B2 sur ma feuille de donnée.
Si c'est le cas qu'est ce je peut modifier ou ajouter.
Voici mon code
Private Sub Workbook_Open()
Dim mDate As String
mDate = Date
mDate = Replace(mDate, "/", "")
Application.DisplayAlerts = False 'Désactive les alertes Excel
ThisWorkbook.SaveAs Filename:="C:\Documents and Settings\Joseph" & mDate & ".xls"
Application.DisplayAlerts = True 'Active les alertes Excel
End Sub
En tout cas c'est très gentil de perdre ton temps avec moi.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
il n'y a rien a faire ça ne va pas, il m'affiche une erreur de compilation:
instruction incorrect à l'extérieur d'une procédure.
Moi j'ai Excel 2002.
Alors je pense qu'il y a quelque chose à faire.
si tu dis ou se tr trouve l'erreur de compilation par exemple.
comme j'utilise 2007 il y a peut-être une déclaration ou une instruction qui ne convient pas.
A l'extérieur d'une procedure il n'y a que les declarations de type de variables ou de variables.
donc tu dis quelle est la ligne en jaune dans le debugger et on avise.
instruction incorrect à l'extérieur d'une procédure.
Moi j'ai Excel 2002.
Alors je pense qu'il y a quelque chose à faire.
si tu dis ou se tr trouve l'erreur de compilation par exemple.
comme j'utilise 2007 il y a peut-être une déclaration ou une instruction qui ne convient pas.
A l'extérieur d'une procedure il n'y a que les declarations de type de variables ou de variables.
donc tu dis quelle est la ligne en jaune dans le debugger et on avise.
peux-tu mettre soit le code que tu as....
soit le classeur... sur ci-joint.fr en copiant le lien ici
car dans le code que je t'ai donné totes les variables sont déclarées....
soit le classeur... sur ci-joint.fr en copiant le lien ici
car dans le code que je t'ai donné totes les variables sont déclarées....
Voiçi le lien et merci si tu peux faire quelque chose, c'est la première fois alors je ne sais si c 'est le bon lien ou pas, alors je t'ai mis les deux.
http://www.cijoint.fr/cjlink.php?file=cj200911/cijqoWvV8k.xls; Joseph10112009.xls
En y repensant bien il serait bien de pouvoir enregistrer ma feuille facture et ma feuille semaine par client.
Le but final est de pouvoir sauvegarder toutes mes factures par nom et date avec les acomptes versés par semaine et aller les recherchers si le besoin s'en fait sentir.
Bien à toi
http://www.cijoint.fr/cjlink.php?file=cj200911/cijqoWvV8k.xls; Joseph10112009.xls
En y repensant bien il serait bien de pouvoir enregistrer ma feuille facture et ma feuille semaine par client.
Le but final est de pouvoir sauvegarder toutes mes factures par nom et date avec les acomptes versés par semaine et aller les recherchers si le besoin s'en fait sentir.
Bien à toi
je viens de faire un click sur le lien pour voir mais il met fichier non accessible. Alors je ne sais pas comment on fait, j'ai collé le lien qu'il était marqué.
quand tu vas sur cijoint.fr tu as le bouton parcourir cela te permet de localiser le fichier sur ton disque.
puis sur "click ici pour deposer le fichier" puis copie et colle ici le lien en bleu qui apparaît en dessous
puis sur "click ici pour deposer le fichier" puis copie et colle ici le lien en bleu qui apparaît en dessous
http://www.cijoint.fr/cjlink.php?file=cj200911/cijhQWBduW.xls
j'espère que cette fois c'est la bonne
j'espère que cette fois c'est la bonne
je viens de regarder ton fichier....
tu as dis au post 4
m'affiche une erreur de compilation:
instruction incorrect à l'extérieur d'une procédure.
Moi j'ai Excel 2002.
je viens de voir un appel de chargement de bibliotèthèque pour 2007
Alt F11 editeur VBA
puis outils / références/ tu dois trouver une ligne Calendar 11.0 MANQUANT ( il faut la décocher ou rajouter Calendar . OCX)
Ensuite ça marche.
De ce que j'ai vu il n'y a pas d'erreur d'écriture.
A+
tu as dis au post 4
m'affiche une erreur de compilation:
instruction incorrect à l'extérieur d'une procédure.
Moi j'ai Excel 2002.
je viens de voir un appel de chargement de bibliotèthèque pour 2007
Alt F11 editeur VBA
puis outils / références/ tu dois trouver une ligne Calendar 11.0 MANQUANT ( il faut la décocher ou rajouter Calendar . OCX)
Ensuite ça marche.
De ce que j'ai vu il n'y a pas d'erreur d'écriture.
A+
Salut,
Oui en effet je t'ai dit qu'il y avait unr erreur à l'intérieur d'une procédure, mais j'ai tout effacé avant de t'envoyé le classeur et le bouton aussi en pensant que tu allait refaire le code et voir où est l'erreur, excuse moi.
Je te renvois le classeur avec le code et le bouton inséré. (j'ai bien Excel 2002 ou XP)
En ce qui qui concerne le calendrier que j'ai fait avec l'userform je ne comprend pas ce que tu veux dire avec le chargement bibliothèque 2007. et de plus dans ma liste je n'ai pas de calendar.OCX mais bien Microsoft Calendar 11.0. Par contre il est vrai qu'il y a un problème a chaque affichage du calendrier et même quand j'ouvre mon classeur il y a une fenêtre de windows installer qui s'affiche en disant préparation de l'installation.
J'ai déjà fait des recherche sur le forum pour essayer de comprendre pourquoi mais pour le moment toujours rien.
http://www.cijoint.fr/cjlink.php?file=cj200911/cijz136h6F.xls
Merci d'être patient.
Oui en effet je t'ai dit qu'il y avait unr erreur à l'intérieur d'une procédure, mais j'ai tout effacé avant de t'envoyé le classeur et le bouton aussi en pensant que tu allait refaire le code et voir où est l'erreur, excuse moi.
Je te renvois le classeur avec le code et le bouton inséré. (j'ai bien Excel 2002 ou XP)
En ce qui qui concerne le calendrier que j'ai fait avec l'userform je ne comprend pas ce que tu veux dire avec le chargement bibliothèque 2007. et de plus dans ma liste je n'ai pas de calendar.OCX mais bien Microsoft Calendar 11.0. Par contre il est vrai qu'il y a un problème a chaque affichage du calendrier et même quand j'ouvre mon classeur il y a une fenêtre de windows installer qui s'affiche en disant préparation de l'installation.
J'ai déjà fait des recherche sur le forum pour essayer de comprendre pourquoi mais pour le moment toujours rien.
http://www.cijoint.fr/cjlink.php?file=cj200911/cijz136h6F.xls
Merci d'être patient.
je regarde ton code ...
Sous 2007, il n'y a pas de problème (même) pour le calendrier
je regarde en détail et je fais un test sous 2003 et je te renvoie le fichier, ou je
te dis ce qu'il faut faire.
Sous 2007, il n'y a pas de problème (même) pour le calendrier
je regarde en détail et je fais un test sous 2003 et je te renvoie le fichier, ou je
te dis ce qu'il faut faire.
J'ai trouvé ton erreur et je t'ai ajouté une feuille d'instruction pour ton calendrier
http://www.cijoint.fr/cjlink.php?file=cj200911/cijg5t48kf.xls
normalement ça marche
http://www.cijoint.fr/cjlink.php?file=cj200911/cijg5t48kf.xls
normalement ça marche
j'ai oublié.
sur office (2002 je connais pas) 97/2003
le calendrier fait référence à MSCAL.OCX (version 10)
dans google tu le trouve.
tu peux ensuite le placer dens
C:\Documents and Settings\LOGIN\My Documents\AddIns
il ya deux fichiers à mettre :
MSCAL.DEP
MSCAL.OCX
pour 2007 (version 12)
le calendrier s'appelle
ICCalendar.ocx
pour les mettre alt F11(vba) /outils/références / click sur parcourir choisir le fichier ocx
ensuite click sur contrôle complémentaire et ajoute le contrôle
j'espère que cela t'aidera
sur office (2002 je connais pas) 97/2003
le calendrier fait référence à MSCAL.OCX (version 10)
dans google tu le trouve.
tu peux ensuite le placer dens
C:\Documents and Settings\LOGIN\My Documents\AddIns
il ya deux fichiers à mettre :
MSCAL.DEP
MSCAL.OCX
pour 2007 (version 12)
le calendrier s'appelle
ICCalendar.ocx
pour les mettre alt F11(vba) /outils/références / click sur parcourir choisir le fichier ocx
ensuite click sur contrôle complémentaire et ajoute le contrôle
j'espère que cela t'aidera
Bonjour,
J'essaye moi aussi un résultat similaire mais je n'y arrive pas non plus...
Voici mon code :
Toute l'opération se passe, le nouveau classeur est créé et sauvegarder, on a l'impression que ça marche sauf que les données copiées ne sont pas dans le fichier...
Etrange tout de même.
Merci
J'essaye moi aussi un résultat similaire mais je n'y arrive pas non plus...
Voici mon code :
Dim Nom As String
Dim Chemin As String
Nom = "Perm"
Chemin = ThisWorkbook.Path
Sheets("Info").Select
Cells.Select
Selection.Copy
Workbooks.Add
Range("A1").Select
ActiveSheet.Paste
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Chemin & "\" & Nom & ".xls"
ActiveWorkbook.Close
Application.DisplayAlerts = True
Application.CutCopyMode = False
Sheets("Edit").Select
Range("A1").Select
Toute l'opération se passe, le nouveau classeur est créé et sauvegarder, on a l'impression que ça marche sauf que les données copiées ne sont pas dans le fichier...
Etrange tout de même.
Merci
non! tu te trompes.....
je viens de tester ... à la lecture ça me paraissait correct
j'ai créé un classeur avec une feuille info et une feuille edit
les données dans info
tout se passe très bien.
les données sont sauvegardées dans la feuil1 du classeur perm
à l'endroit ou se trouve le classeur de départ.
Vérifie bien!
je viens de tester ... à la lecture ça me paraissait correct
j'ai créé un classeur avec une feuille info et une feuille edit
les données dans info
tout se passe très bien.
les données sont sauvegardées dans la feuil1 du classeur perm
à l'endroit ou se trouve le classeur de départ.
Vérifie bien!