Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

sauvegarde d'une feuille dans un classeur différent nommé automa ti

6 réponses
Avatar
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.

Merci d'avance à tous et merci de votre dispo.

Amicalement

PJ

6 réponses

Avatar
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) :

activeworkbook.saveas "C:" & range("A2").value & "" range("B2").value
& ".xls"

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
Avatar
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.
Avatar
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 ! :)
Avatar
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
Avatar
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éé.
Avatar
Ange Ounis
En réseau ChDir ne fonctionne pas. Il faut passer par une API. Exemple ici :

http://frederic.sigonneau.free.fr/code/Excel/ChDirReseau.txt

----------
Ange Ounis
----------

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