OVH Cloud OVH Cloud

Aux pros de VBA : Sauvegarde partielle d'un classeur

2 réponses
Avatar
Domi
Bonjour,

Depuis un classeur (BaseDossier.xls) je voudrais sauvegarder (Copier) par
macro un nombre de feuilles variable dans un nouveau classeur (Sauve.xls).
J'ai une sur une feuille (BASE) une base de données sur laquelle figurent
dans la plage A5:Axx des n° de dossier (Identifiant unique). A chaque numéro
de dossier correspond une feuille portant le même nom. (Exemple Dos0102)
Dans la plage E5:Exx de la la feuille BASE, figure un critère "Statut"
(Lettre : C ou T : Dossier en Cours ou Terminé)

Quelqu'un saurait-il m'indiquer le code à utiliser pour :
Créer le nouveau classeur Sauve.xls et y copier les feuilles dont le statut
= T (terminé)
Supprimer ensuite de BaseDossier.xls les feuilles qui ont été sauvegardées.

Je devrais ensuite pouvoir me débrouiller mais pour cette partie là je ne
maîtrise pas du tout...

Merci par avance
Domi

2 réponses

Avatar
Joel
Bonjour Domi,

Dans la procédure qui suit, je nai pas réglé le problème d'une sauvegarde
sauve.xls existant déjà, mais je uppose que tu as la solution ;-)

Sub SuvegardePartielle()
Dim oClassIni As Workbook
Dim oClassSauv As Workbook
Dim oCell As Range
Set oClassIni = ActiveWorkbook
Workbooks.Add
Set oClassSauv = ActiveWorkbook
oClassIni.Activate
Worksheets("Base").Select
For Each oCell In Range(Range("A5"), Range("A65536").End(xlUp))
If oCell.Offset(0, 4).Value = "T" Then
Worksheets(oCell.Value).Move before:=oClassSauv.Sheets(1)
oClassIni.Activate
End If
Next
oClassSauv.SaveAs ActiveWorkbook.Path & "Sauve.xls"
oClassSauv.Close False
End Sub


--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Domi" a écrit dans le message de
news:%
Bonjour,

Depuis un classeur (BaseDossier.xls) je voudrais sauvegarder (Copier) par
macro un nombre de feuilles variable dans un nouveau classeur (Sauve.xls).
J'ai une sur une feuille (BASE) une base de données sur laquelle figurent
dans la plage A5:Axx des n° de dossier (Identifiant unique). A chaque
numéro

de dossier correspond une feuille portant le même nom. (Exemple Dos0102)
Dans la plage E5:Exx de la la feuille BASE, figure un critère "Statut"
(Lettre : C ou T : Dossier en Cours ou Terminé)

Quelqu'un saurait-il m'indiquer le code à utiliser pour :
Créer le nouveau classeur Sauve.xls et y copier les feuilles dont le
statut

= T (terminé)
Supprimer ensuite de BaseDossier.xls les feuilles qui ont été
sauvegardées.


Je devrais ensuite pouvoir me débrouiller mais pour cette partie là je ne
maîtrise pas du tout...

Merci par avance
Domi




Avatar
Domi
Merci beaucoup, cela me fait une bon début, je vais essayer d'améliorer
maintenant ;o)

Domi

"Joel" a écrit dans le message de
news:cc8roj$mpe$
Bonjour Domi,

Dans la procédure qui suit, je nai pas réglé le problème d'une sauvegarde
sauve.xls existant déjà, mais je uppose que tu as la solution ;-)

Sub SuvegardePartielle()
Dim oClassIni As Workbook
Dim oClassSauv As Workbook
Dim oCell As Range
Set oClassIni = ActiveWorkbook
Workbooks.Add
Set oClassSauv = ActiveWorkbook
oClassIni.Activate
Worksheets("Base").Select
For Each oCell In Range(Range("A5"), Range("A65536").End(xlUp))
If oCell.Offset(0, 4).Value = "T" Then
Worksheets(oCell.Value).Move before:=oClassSauv.Sheets(1)
oClassIni.Activate
End If
Next
oClassSauv.SaveAs ActiveWorkbook.Path & "Sauve.xls"
oClassSauv.Close False
End Sub


--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Domi" a écrit dans le message de
news:%
Bonjour,

Depuis un classeur (BaseDossier.xls) je voudrais sauvegarder (Copier)
par


macro un nombre de feuilles variable dans un nouveau classeur
(Sauve.xls).


J'ai une sur une feuille (BASE) une base de données sur laquelle
figurent


dans la plage A5:Axx des n° de dossier (Identifiant unique). A chaque
numéro

de dossier correspond une feuille portant le même nom. (Exemple Dos0102)
Dans la plage E5:Exx de la la feuille BASE, figure un critère "Statut"
(Lettre : C ou T : Dossier en Cours ou Terminé)

Quelqu'un saurait-il m'indiquer le code à utiliser pour :
Créer le nouveau classeur Sauve.xls et y copier les feuilles dont le
statut

= T (terminé)
Supprimer ensuite de BaseDossier.xls les feuilles qui ont été
sauvegardées.


Je devrais ensuite pouvoir me débrouiller mais pour cette partie là je
ne


maîtrise pas du tout...

Merci par avance
Domi