Enregistrer sous et consolider une seule feuille

Sylvain59

XLDnaute Occasionnel
Dans le forum j'ai trouver ce code pour sauvegarder une seule feuille d'un classeur

Sub SauvegardeFeuille2()
ThisWorkbook.Sheets(2).Copy
End Sub

Pas de problème il fonctionne très bien

mai j'aimerai aller plus loin avec ce code et faire un enregistrement sur le bureau de l'ordi et surtout consolider les données car toutes les données de la feuille en question sont le résultat de formule et la sauvegarde demande à l'ouverture si il faut actualiser

connaissant mes utilisateurs il répondront oui une foi sur deux pour se retrouver avec des messages d'erreur
le top serait d'avoir un enregistrement du claseur avec le nom de la cellule
h4 :confused:
D'avance je remercie tous ceux qui vont se pencher sur ce problème:)
 

pierrejean

XLDnaute Barbatruc
Re : Enregistrer sous et consolider une seule feuille

bonjour Sylvain59

une solution:

Code:
Sub SauvegardeFeuille2()
Dim NOM As String
NOM = ThisWorkbook.Sheets(2).Range("H4")
ThisWorkbook.Sheets(2).Copy
For Each cel In ActiveWorkbook.ActiveSheet.UsedRange
 cel.Formula = cel.Value
Next cel
ActiveWorkbook.SaveAs Filename:=NOM & ".xls"
ActiveWorkbook.Close
End Sub
 

pierrejean

XLDnaute Barbatruc
Re : Enregistrer sous et consolider une seule feuille

Re

Voila pour aller sur le bureau (chez moi ! c-a-d que pour ton bureau il faudra adapter)

Code:
Sub SauvegardeFeuille2()
Dim NOM As String
NOM = ThisWorkbook.Sheets(2).Range("H4")
ThisWorkbook.Sheets(2).Copy
For Each cel In ActiveWorkbook.ActiveSheet.UsedRange
 cel.Formula = cel.Value
Next cel
ActiveWorkbook.SaveAs Filename[COLOR=red][COLOR=black]:[/COLOR][COLOR=black]=[/COLOR]"C:\Documents and Settings\PIERRE\Bureau\"[/COLOR] & NOM & ".xls"
ActiveWorkbook.Close
End Sub

pour la racine du C

Code:
ActiveWorkbook.SaveAs Filename[COLOR=red][COLOR=black]:[/COLOR][COLOR=black]=[/COLOR]"C:\"[/COLOR] & NOM & ".xls"
[:code]
 

Staple1600

XLDnaute Barbatruc
Re : Enregistrer sous et consolider une seule feuille

Bonjour à tous


Une petite suggestion en passant

Pour le "Collage spécial/Valeurs", cela fonctionne aussi
With ActiveWorkbook.ActiveSheet.UsedRange
.Cells.Formula = .Cells.Value
End With
Code:
Sub SauvegardeFeuille3()
Dim NOM As String
NOM = ThisWorkbook.Sheets(2).Range("H4")
ThisWorkbook.Sheets(2).Copy
With ActiveWorkbook.ActiveSheet.UsedRange
.Cells.Formula = .Cells.Value
End With
ActiveWorkbook.SaveAs Filename[COLOR=red][COLOR=black]:[/COLOR][COLOR=black]=[/COLOR]"C:\Documents and Settings\PIERRE\Bureau\"[/COLOR] & NOM & ".xls"
ActiveWorkbook.Close
End Sub

Sylvain59 :
ne serait-il pas possible de forcer le chemin de l'enregistrement vers le bureau de l'ordi

Est-ce que tes utilisateurs utilisent le même bureau?
ou ont-ils un bureau personnalisé selon leur login de session sous Windows?
 
Dernière édition:

Sylvain59

XLDnaute Occasionnel
Re : Enregistrer sous et consolider une seule feuille

Merci de vos réponses

j'ais fait travailler mon neurone fatigué par une semaine de labeur (dur)

et j'avais trouvé que la macro de pierre jean enregistrait sous le dossier Excel par défaut (celui qui est paramétrè dans outil option)

j'ai réussi à l'adapter car mon dossier mère est protégé
comme ceci

Sub SauvegardeFeuille3()
Dim NOM As String
NOM = ThisWorkbook.Sheets(3).Range("g2")
ActiveSheet.Unprotect
ThisWorkbook.Sheets(3).Copy
For Each cel In ActiveWorkbook.ActiveSheet.UsedRange
cel.Formula = cel.Value
Next cel
ActiveWorkbook.SaveAs Filename:=NOM & ".xls"
ActiveWorkbook.Close
End Sub
pour reprotéger le classeur mère j'ai une deuxieme macro dans le module

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlNoRestrictions

j'appelle les deux avec un bouton
c'est du bidouillage
mais j'en suis content

je vous remercie tous et je vais essayer de mettre tout cela dans la même macro
le fichier en question est sur un serveur et chaque intervenant à un pc perso

et pourra donc créer un dossier "extraction" sur son D

:)
 

Discussions similaires

Statistiques des forums

Discussions
312 534
Messages
2 089 383
Membres
104 152
dernier inscrit
sabalex