sauvegarde d'une feuille dans un classeur différent nommé automa ti
6 réponses
Pej
Bonjour à tous,
Je voudrais réaliser la chose suivante:
J'ouvre un classeur excel (classeur1.xls)
Je fais saisir à l'utilisateur des inormations (Marque, modèle, année).
Dans ce classeur j'ai une feuille (feuil1) qui se remplit automatiquement.
Je voudrais créer une procédure de sauvegarde et d'historique (déclenchée
par bouton action):
J'aimerai enregistrer SEULEMENT la feuil1dans un rep sous
c:\exemple\dossier\privé\ qui porte le nom de la marque puis dans un
sous-répertoire qui porte le nom du modèle et enfin un autre
sous-sous-répertoire qui pour le nom de l'année
PARALLELEMENT à ça, je voudrais que cette feuille (seulement) s'enregistre
dans un autre dossier sous un autre répertoire. ex: sous c:\historique\...
et qui prenne le nom de la marque saisie précédement puis le modèle et
l'année.
Enfin, je voudrais qu'une fois ma sauvegarde termeiné je sois à nouveau dans
mon classeur de départ :classeur1.
Déjà est-ce possible de cette manière là.
Est-ce réalisable.
Toute aide sera la bien venue.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
tiah
pour n'enregistrer que la feuille, essaie d'enregistrer une macro qui copie la feuille dans un nouveau classeur, par le menu Edition/Déplacer ou copier une feuille.
Ensuite, pour enregistrer, tu auras quelque chose du genre (A2 serait la marque et B2 le modele) :
Ensuite, tu fais tout suite un autre save as du même style pour ton historique
un Activeworkbook.close à la fin pour fermer et revenir à l'original
pour n'enregistrer que la feuille, essaie d'enregistrer une macro qui
copie la feuille dans un nouveau classeur, par le menu
Edition/Déplacer ou copier une feuille.
Ensuite, pour enregistrer, tu auras quelque chose du genre (A2 serait
la marque et B2 le modele) :
pour n'enregistrer que la feuille, essaie d'enregistrer une macro qui copie la feuille dans un nouveau classeur, par le menu Edition/Déplacer ou copier une feuille.
Ensuite, pour enregistrer, tu auras quelque chose du genre (A2 serait la marque et B2 le modele) :
Ensuite, tu fais tout suite un autre save as du même style pour ton historique
un Activeworkbook.close à la fin pour fermer et revenir à l'original
Pej
Merci beaucoup de ta réponse rapide TIAH,
j'ai deja essaye avec la copie de la feuille. ca ne marche pas car en fait je veux copier seulement cette feuille dans un nouveaux classeur dont le chemin et le nom dependent de cellule de cette feuille.
Pour le reste je vais tester et je te tiens au courant.
Merci encore et a bientot.
Merci beaucoup de ta réponse rapide TIAH,
j'ai deja essaye avec la copie de la feuille. ca ne marche pas car en fait
je veux copier seulement cette feuille dans un nouveaux classeur dont le
chemin et le nom dependent de cellule de cette feuille.
Pour le reste je vais tester et je te tiens au courant.
j'ai deja essaye avec la copie de la feuille. ca ne marche pas car en fait je veux copier seulement cette feuille dans un nouveaux classeur dont le chemin et le nom dependent de cellule de cette feuille.
Pour le reste je vais tester et je te tiens au courant.
Merci encore et a bientot.
tiah
la fonction de copie de feuille ne copie justement que la feuille. pourquoi tu dis que ça marche pas ? :) Il crée automatiquement le nouveau classeur en plus ! :)
la fonction de copie de feuille ne copie justement que la feuille.
pourquoi tu dis que ça marche pas ? :)
Il crée automatiquement le nouveau classeur en plus ! :)
la fonction de copie de feuille ne copie justement que la feuille. pourquoi tu dis que ça marche pas ? :) Il crée automatiquement le nouveau classeur en plus ! :)
Pej
Bonjour TIAH,
En fait, ca ne marche pas car si les repertoires ne sont pas crees, il ne comprends pas. En fait, il faudrait que je fasse un test pour savoir si il existe mais je ne connais pas la syntaxe. je vais essayer cette syntaxe : If Dir("reseaumesdocr&d + Range ("A2")", vbDirectory) = "" Then MkDir (monrep) End If ChDir "reseaumesdocr&d + Range ("A2")"
Qu'en penses-tu? As-tu une autre solution plus facile sachant qu'il faut que je reprenne cette fonction pour une autre sauvegarde dans mon historique.
Merci beaucoup de ton aide.
Bonne journee.
PJ
Bonjour TIAH,
En fait, ca ne marche pas car si les repertoires ne sont pas crees, il ne
comprends pas. En fait, il faudrait que je fasse un test pour savoir si il
existe mais je ne connais pas la syntaxe. je vais essayer cette syntaxe :
If Dir("\reseaumesdocr&d + Range ("A2")", vbDirectory) = "" Then
MkDir (monrep)
End If
ChDir "\reseaumesdocr&d + Range ("A2")"
Qu'en penses-tu? As-tu une autre solution plus facile sachant qu'il faut que
je reprenne cette fonction pour une autre sauvegarde dans mon historique.
En fait, ca ne marche pas car si les repertoires ne sont pas crees, il ne comprends pas. En fait, il faudrait que je fasse un test pour savoir si il existe mais je ne connais pas la syntaxe. je vais essayer cette syntaxe : If Dir("reseaumesdocr&d + Range ("A2")", vbDirectory) = "" Then MkDir (monrep) End If ChDir "reseaumesdocr&d + Range ("A2")"
Qu'en penses-tu? As-tu une autre solution plus facile sachant qu'il faut que je reprenne cette fonction pour une autre sauvegarde dans mon historique.
Merci beaucoup de ton aide.
Bonne journee.
PJ
tiah
Tu peux le tester en le créant :
On Error Resume Next MkDir "C:Data" & range("A2") & "test.xls" On Error goto 0
le Mkdir va créer le répertoire. Si ca cause un problème parce qu'il existe déjà, il va continuer (resume next) si ça cause pas de problème, le répertoire sera créé.
Tu peux le tester en le créant :
On Error Resume Next
MkDir "C:Data" & range("A2") & "test.xls"
On Error goto 0
le Mkdir va créer le répertoire. Si ca cause un problème parce
qu'il existe déjà, il va continuer (resume next) si ça cause pas de
problème, le répertoire sera créé.
On Error Resume Next MkDir "C:Data" & range("A2") & "test.xls" On Error goto 0
le Mkdir va créer le répertoire. Si ca cause un problème parce qu'il existe déjà, il va continuer (resume next) si ça cause pas de problème, le répertoire sera créé.
Ange Ounis
En réseau ChDir ne fonctionne pas. Il faut passer par une API. Exemple ici :
En fait, ca ne marche pas car si les repertoires ne sont pas crees, il ne comprends pas. En fait, il faudrait que je fasse un test pour savoir si il existe mais je ne connais pas la syntaxe. je vais essayer cette syntaxe : If Dir("reseaumesdocr&d + Range ("A2")", vbDirectory) = "" Then MkDir (monrep) End If ChDir "reseaumesdocr&d + Range ("A2")"
Qu'en penses-tu? As-tu une autre solution plus facile sachant qu'il faut que je reprenne cette fonction pour une autre sauvegarde dans mon historique.
Merci beaucoup de ton aide.
Bonne journee.
PJ
En réseau ChDir ne fonctionne pas. Il faut passer par une API. Exemple ici :
En fait, ca ne marche pas car si les repertoires ne sont pas crees, il ne
comprends pas. En fait, il faudrait que je fasse un test pour savoir si il
existe mais je ne connais pas la syntaxe. je vais essayer cette syntaxe :
If Dir("\reseaumesdocr&d + Range ("A2")", vbDirectory) = "" Then
MkDir (monrep)
End If
ChDir "\reseaumesdocr&d + Range ("A2")"
Qu'en penses-tu? As-tu une autre solution plus facile sachant qu'il faut que
je reprenne cette fonction pour une autre sauvegarde dans mon historique.
En fait, ca ne marche pas car si les repertoires ne sont pas crees, il ne comprends pas. En fait, il faudrait que je fasse un test pour savoir si il existe mais je ne connais pas la syntaxe. je vais essayer cette syntaxe : If Dir("reseaumesdocr&d + Range ("A2")", vbDirectory) = "" Then MkDir (monrep) End If ChDir "reseaumesdocr&d + Range ("A2")"
Qu'en penses-tu? As-tu une autre solution plus facile sachant qu'il faut que je reprenne cette fonction pour une autre sauvegarde dans mon historique.