classeur excel / onglet excel - VB/VBA/VBS - Programmation
Marsh Posté le 22-12-2011 à 14:42:09
j ai trouve ceci
mais cela ne fonctionne pas
Windows("factures.xls" ).Activate
Set wb = ActiveWorkbook
For Each ss In wb.Sheets
Application.CutCopyMode = False
ss.Copy
ActiveWorkbook.SaveAs Filename:= _
"Mettre ici le chemin" & ss.Name & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Windows("fichier1.xls" ).Activate
Next
Marsh Posté le 22-12-2011 à 14:47:01
j ai aussi essaye en faisant enregistrement macro
cela donne ceci:
Range("H5" ).Select (petit changement de place de ma cellule)
ActiveCell.FormulaR1C1 = "XXXXX"
Sheets("yyyyy" ).Select
Sheets("yyyyy" ).Name = "XXXXX"
le nom de mes onglets sont differents dans le classeur
Marsh Posté le 22-12-2011 à 16:19:10
cool merci
j avais fait ceci en attendant:
' renommage onglet
sub onglet()
ActiveSheet.Name = Range("H5" ).Value
end sub
'Eclate fichier
Sub Macro1()
Dim LeNom, S As Integer
LeNom = Left(ThisWorkbook.FullName, Len(ThisWorkbook.FullName) - 4)
For S = 1 To Sheets.Count
Sheets(S).Copy
With ActiveWorkbook
.SaveAs LeNom & "_" & S & ".xls"
.Close
End With
Next S
End Sub
Sub Macro2()
Dim LeNom, S As Integer
For S = 1 To Sheets.Count
LeChemin=ThisWorkbook.Path
LeNom=LeChemin+Range("H5" ).Value
Sheets(S).Copy
With ActiveWorkbook
.SaveAs LeNom & ".xls"
.Close
End With
Next S
End Sub
1er macro le renommage niquel mais onglet par onglet
2eme macro me decoupait bien mais sans prendre le nom de l onglet comme nom de fichier
3eme macro me decoupait et donnait toujours le meme nom de fichier du coup cela s arretait au 2éme fichiers et en plus ne sauvegardait plus le fichier au bon endroit
Marsh Posté le 22-12-2011 à 16:29:10
Salut, après correction par rapport au post précédent
Option Explicit |
Marsh Posté le 22-12-2011 à 17:04:42
alors merci
ceci fonctionne niquel
Option Explicit
Sub renommeEtCoupe()
Dim Ws As Worksheet
Dim Wkb As Workbook
Application.ScreenUpdating = False
For Each Ws In ThisWorkbook.Worksheets
Set Wkb = Workbooks.Add
Ws.Copy Wkb.ActiveSheet
Wkb.ActiveSheet.Name = Ws.Name
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Range("H5" ) & ".xls", FileFormat:=xlNormal
ActiveWindow.Close
Application.DisplayAlerts = True
Next Ws
Application.ScreenUpdating = True
End Sub
Marsh Posté le 22-12-2011 à 17:37:17
Re, tu fonctionnes par psittacisme, à quoi bon répéter un code incomplet,inexact et non balisé ?
Marsh Posté le 22-12-2011 à 14:36:11
Bonjour
je cherche a faire une macro qui me permette de nommer un onglet suivant la valeur d'une cellule
j ai cherché et trouver des choses mais qui ne semble pas fonctionner
ma cellule est la cellule E1 dans mon cas
et une autre macro qui me créé un fichier excel pour chaque onglet de mon fichier principal en supprimant les autres onglets
et si possible qui reprenne le nom de l onglet
donc un classeur avec comme onglet A,B,C et D
devient un classeur A, un B, un C et un D