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

W

wilplan

Guest
Bonjour le Fil,

j'enregistre une feuille dans un autre classeur.

Pour ce faire j'utilise la syntaxe suivante.

Dim nomsauvegarde As String
nomsauvegarde = (Feuil4.Range("D7").Value & Date$ & " .xls")
Sheets("dotation").Copy
ChDir "C:\ ' indique le répertoire
ActiveWorkbook.SaveAs Filename:=nomsauvegarde

jusque là tout va bien, mon problème c'est que j'aurai besoin de revenir dans mon autre classeur
pour supprimer les données de la feuille puisqu'elle est sauvegardée.
j'ai donc essayé :
sheet ("dotation").Select
Range("A14:G43").Select
Selection.Clearcontents

Mais seule s'effacent les données sur la sauvegarde alors que c'est l'inverse que je souhaite obtenir.

Si quelqu'un a une idée, elle sera la bienvenue, Merci
 
Dernière modification par un modérateur:
Re : Archivage

Bonsoir à tous,
Ouf après trois jours de recherche intense, j'ai trouvé, si ça peut servir voilà ce que j'ai bricolé et qui fonctionne presque:

Dim Sauve As String
Set WS = Worksheets("Dotation")

Sauve = ThisWorkbook.Path & "C:\Users\Bureau\Documents\Boulot\archivage\"
WS.Copy

With ActiveWorkbook
.SaveAs (Feuil4.Range("D7").Value & Format(Now, "DD-MM-YYYY-HH-MM-SS") & " .xls")
.Close
End With

Presque parceque ma feuille va se loger dans les documents plutôt que dans le classeur archivage, aussi si quelqu'un sait pourquoi , je suis preneur, merci
 
Dernière modification par un modérateur:
Re : Archivage

Bonsoir wilplan,

Si je puis me permettre, je vais corriger deux erreurs :

Sauve = ThisWorkbook.Path & "C:\Users\Bureau\Documents\Boulot\archivage\"
==> Là, tu concatènes dans la variable Sauve le chemin du classeur contenant la macro et "C:\Users\Bureau\Documents\Boulot\archivage\". C'est pas très efficace ;-) ; en plus tu n'utilises pas cette variable dans le code...


.SaveAs (Feuil4.Range("D7").Value & Format(Now, "DD-MM-YYYY-HH-MM-SS") & " .xls")
==> Je suppose que Feuil4.Range("D7").Value contient uniquement le nom du fichier (sans le chemin). Du coup, le nom du fichier est correct, mais comme tu ne précises pas le chemin, le fichier est enregistré dans le répertoire par défaut : Documents.

Je n'ai pas testé ce code, mais je ne dois pas être loin de ce que tu cherches :
Code:
    Dim Sauve As String
    
    Sauve = "C:\Users\Bureau\Documents\Boulot\archivage\"
    Worksheets("Dotation").Copy
    
    With ActiveWorkbook
        .SaveAs Sauve & Feuil4.Range("D7").Value & Format(Now, "DD-MM-YYYY-HH-MM-SS") & " .xls"
        .Close
    End With
En tout cas, c'est un très bon début : continue.
Le VBA, c'est très sympa, surtout que quand on galère, il y a un forum comme celui de excel-downloads 🙂
 
Dernière édition:
Re : Archivage

Bonjour le Forum,
Merci Kobaya, ta formule est exactement ce que je cherchais à faire depuis 3 jours, quand aux explications que tu apportes ,elles permettent d'avancer à pas de géant pour le débutant que je suis.
Bonne journée
 
Re : Archivage

Code:
    Dim Sauve As String
    
    Sauve = "C:\Users\Bureau\Documents\Boulot\archivage\"
    Worksheets("Dotation").Copy
    
    With ActiveWorkbook
        .SaveAs Sauve & Feuil4.Range("D7").Value & Format(Now, "DD-MM-YYYY-HH-MM-SS") & " .xls"
        .Close
    End With




Bonjour a tous !

J'effectue moi aussi une manip' dans le même genre et vos conseils mon beaucoup aidés. Seulement 2 problèmes me ralentissent :
- J'aimerais copier, pas la feuille "dotation" entière mais les cellules ("A2:EC40"). Mais je n'arrive pas a trouver la syntaxe.

- Et ensuite j aimerais savoir s'il y a une formule me permettant d'éxécuter ma procédure au dernier jours du mois.

Merci, en esperant trouver une réponse 😉
 
Re : Archivage

Bonjour Sago,et bienvenue sur le forum

il eut été préférable de créer un nouveau fil de discussion mais comme tu es nouveau il te sera beaucoup pardonné
pour répondre à ta question
- Et ensuite j aimerais savoir s'il y a une formule me permettant d'éxécuter ma procédure au dernier jours du mois.
vois le fichier joint, tout est expliqué

Bonne journée
à+
Philippe
.
 

Pièces jointes

Re : Archivage

Bonjour Sago, Phlaurent, le forum

Pour ta première question j'ai pas le temps de faire l'essai cet après-midi, mais je pense que si tu lances l'enregistreur de macro , tu définis la zone que tu veux sauvegarder, puis tu arrêtes l' enregistrement; tu devrais obtenir la syntaxe que tu cherches.

merci à toi pour ta question et à phlaurent pour sa réponse qui va me servir prochainement

bonne journée
 
Re : Archivage

Merci beaucoup de votre aide ! il me reste un seul soucis concernant la procédure "BeforClose".

extrait de mon code :

Private Sub Beforeclose()
If Feuil4.Range("F1") = 0 Then
Dim Sauve As String
Dim name As String
Sauve = "C:\Documents and Settings\sagory-adr\Cuves\"
Worksheets("Rapport mensuel").Copy
.....

Cette procédure devrait ce lancé au moment ou je ferme mon tableau ? mais cela ne fonctionne pas!
Si je l'exécute manuellement elle marche très bien.

Si quelqu'un à déja utilisé beforeClose ce serait cool 🙄

Merci a vous de votre aide rapide et efficace.
 
Re : Archivage

Merci Phlaurent ton fichier ma débloqué la situation !!!

Concernant le Beforeclose j'ai trouvé la solution il faut le mettre dans le ThisWork et non dans les modules des pages!

A très bientot pour de nouveaux développements 😎 😱
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Récuperer donner
Réponses
2
Affichages
821
P
Réponses
19
Affichages
2 K
Pieerre69
P
C
Réponses
1
Affichages
2 K
C
Réponses
8
Affichages
2 K
Genii
G
L
  • Question Question
Réponses
0
Affichages
1 K
lycan54
L
P
Réponses
0
Affichages
988
P
E
Réponses
0
Affichages
1 K
eeyglunent
E
Retour