Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1900 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  classeur excel / onglet excel

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

classeur excel / onglet excel

n°2117916
aculy
Posté le 22-12-2011 à 14:36:11  profilanswer
 

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

mood
Publicité
Posté le 22-12-2011 à 14:36:11  profilanswer
 

n°2117922
aculy
Posté le 22-12-2011 à 14:42:09  profilanswer
 

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

n°2117926
aculy
Posté le 22-12-2011 à 14:47:01  profilanswer
 

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

n°2117971
aculy
Posté le 22-12-2011 à 16:19:10  profilanswer
 

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

n°2117976
kiki29
Posté le 22-12-2011 à 16:29:10  profilanswer
 

Salut, après correction par rapport au post précédent

Option Explicit
 
Sub DecoupageClasseur()
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
         
        With Application
            .DisplayAlerts = False
            .CutCopyMode = False
        End With
        Wkb.Worksheets("Feuil1" ).Delete
        Wkb.SaveAs Filename:=ThisWorkbook.Path & "\" & Ws.Name & ".xls", FileFormat:=xlNormal
        ActiveWindow.Close
        Application.DisplayAlerts = True
    Next Ws
    Application.ScreenUpdating = True
End Sub


Message édité par kiki29 le 22-12-2011 à 16:36:38

---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
n°2117984
aculy
Posté le 22-12-2011 à 17:04:42  profilanswer
 

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
 

n°2117990
kiki29
Posté le 22-12-2011 à 17:37:17  profilanswer
 

Re, tu fonctionnes par psittacisme, à quoi bon répéter un code incomplet,inexact et non balisé ?


Message édité par kiki29 le 22-12-2011 à 17:38:30

---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
n°2118090
aculy
Posté le 23-12-2011 à 09:08:38  profilanswer
 

???
pas compris


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  classeur excel / onglet excel

 

Sujets relatifs
[Excel] tableau à "2 colonnes"Macro excel
Suppresion d'un bloc de ligne dans ExcelMacro pour copier le contenu d'un document excel vers un autre
Problème affectation de classeur dans une variable[VBA Excel] Problème vlookup ne rappatriant que des zéros (RESOLU !)
Macro excel supprimer une ligne sous conditionsCalculs financiers avec vba excel
Calcul financiers avec VBA excelmacro duplication de classeur avec nom different
Plus de sujets relatifs à : classeur excel / onglet excel


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR