Enregistrer deux onglets sur dix

maval

XLDnaute Barbatruc
Bonjour,

Je suis a la recherche d'un code VBA pour enregistrer deux onglets sur dix.

Je m'explique j'ai un fichier avec 10 onglets j'aimerais que lorsque j'enregistre seul les deux premier onglet sois enregistrer.

je vous remercie de votre aide
 

maval

XLDnaute Barbatruc
Re : Enregistrer deux onglets sur dix

Bonjour Pierrot,

Voila j'ai un fichier nommer "Matrice" que je me sert pour remplir des données. Se fichier quotient 10 onglets et lorsque j'enregistre je nomme le fichier "......." les deux premiers doit être enregistrer.
Le fichier "Matrice" doit rester avec ces 10 onglets

Merci
 

Pierrot93

XLDnaute Barbatruc
Re : Enregistrer deux onglets sur dix

Re,

une approche comme ceci :
Code:
Option Explicit
Sub test()
Dim i As Integer
Workbooks("Matrice.xlsm").Save
Application.DisplayAlerts = False
For i = 3 To 10
    Sheets(i).Delete
Next i
Application.DisplayAlerts = True
ActiveWorkbook.SaveAs "nom fichier"
End Sub
sans doute à adapter...
 

maval

XLDnaute Barbatruc
Re : Enregistrer deux onglets sur dix

Re,

J'ai un message d'erreur sur la ligne Sheets(i).Delete
 

Pierrot93

XLDnaute Barbatruc
Re : Enregistrer deux onglets sur dix

Re,

que vaut "i" ? tu as bien 10 onglets ? attention macro s'applique sur le classeur actif
 

maval

XLDnaute Barbatruc
Re : Enregistrer deux onglets sur dix

re

Oui j'ai bien 10 onglets et la macro s'applique bien sur le classeur actif
 

Pierrot93

XLDnaute Barbatruc
Re : Enregistrer deux onglets sur dix

Re,

et ou est placé le code ? la feuille ou le classeur ne sont pas protégés ???
 

maval

XLDnaute Barbatruc
Re : Enregistrer deux onglets sur dix

re

J'ai mis le code dans un module standard et le ni classeur ni les feuilles sont protéger
 

Pierrot93

XLDnaute Barbatruc
Re : Enregistrer deux onglets sur dix

Re,

bah... mets le classeur avec le code utilisé en pièce jointe, code proposé fonctionne chez moi...
 

Pierrot93

XLDnaute Barbatruc
Re : Enregistrer deux onglets sur dix

Re,

aarf autant pour moi... modifie comme suit :
Code:
Sub test()
Dim i As Integer
Workbooks("Matrise.xlsm").Save
Application.DisplayAlerts = False
For i = 10 To 3 Step -1
     Sheets(i).Delete
     Next i
Application.DisplayAlerts = True
ActiveWorkbook.SaveAs "Nom"
End Sub
 

maval

XLDnaute Barbatruc
Re : Enregistrer deux onglets sur dix

Re,

Oui sa fonctionne beaucoup mieux mais seul petit souci j'aimerais le nommer a chaque fois que j'enregistre?

Merci
 

Pierrot93

XLDnaute Barbatruc
Re : Enregistrer deux onglets sur dix

Re,

regarde avec ceci :
Code:
Option Explicit
Sub test()
Dim i As Integer, x As String
Workbooks("Matrise.xlsm").Save
Application.DisplayAlerts = False
For i = 10 To 3 Step -1
     Sheets(i).Delete
     Next i
Application.DisplayAlerts = True
x = InputBox("Nom fichier ?")
If x <> "" Then ActiveWorkbook.SaveAs x
End Sub
bonne journée
@+
 

maval

XLDnaute Barbatruc
Re : Enregistrer deux onglets sur dix

Bonjour Pierrot

J'ai trouvé un code sur le net qui fonctionne pas trop mal sauf que je ne peut qu'enregistrer la feuille active
n'ayant plus de nouvelle de toi j'ai posté une nouvelle demande mon code est:

Code:
Sub Archiver()

Dim extension As String
Dim chemin As String, nomfichier As String
Dim style As Integer
Application.ScreenUpdating = False
ThisWorkbook.ActiveSheet.Copy
extension = ".xlsm"
chemin = "C:\Users\Max\Desktop\Test\"
nomfichier = ActiveSheet.Range("A1") ' & extension
With ActiveWorkbook
      .ActiveSheet.DrawingObjects(2).Delete
    .SaveAs Filename:=chemin & nomfichier
    .Close
End With
End Sub
Si tu peut regarde s'il on peut modifier

Bonne journée
 

maval

XLDnaute Barbatruc
Re : Enregistrer deux onglets sur dix

Re,

Oui c'est bon petit souci le chemin via l'enregistrement
j'ai rajouté a ton code

Dim Chemin As String

Chemin = "C:\Users\Max\Desktop\Test\"

Sa ne fonctionne pas?
 

Pierrot93

XLDnaute Barbatruc
Re : Enregistrer deux onglets sur dix

Re,

avec le chemin :
Code:
Option Explicit
Sub test()
Dim i As Integer, x As String, Chemin As String
Workbooks("Matrise.xlsm").Save
Application.DisplayAlerts = False
For i = 10 To 3 Step -1
     Sheets(i).Delete
     Next i
Application.DisplayAlerts = True
x = InputBox("Nom fichier ?")
Chemin = "C:\Users\Max\Desktop\Test\"
If x <> "" Then ActiveWorkbook.SaveAs Chemin & x
End Sub
 

maval

XLDnaute Barbatruc
Re : Enregistrer deux onglets sur dix

Re,

Nickel je te remercie beaucoup
question pourquoi le fichier nommer se ferme et que le fichier enregistrer reste ouvert?

Merci encore
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas