IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

enregistrer une feuille sous un répertoire avec un numéro d'incrémentation


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Par défaut enregistrer une feuille sous un répertoire avec un numéro d'incrémentation
    Bonjour
    j'ai un classeur excel et j'aimerai enregistrer une feuille en la renomant avec un suffixe du genre test du ...et un numéro d'incrémaentation automatique (chaque fois qu'on enregistre un numéro se crée) tout cela dans un noveau dossier et nouveau repertoire
    le dossier s'appelle resultat et le repertoire h

    merci bcp pour les réponses c'est hyper urgent

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Par défaut
    Bonjour,

    Pour cela tu as l'instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActiveWorkbook.SaveAs FileName:= "TonNomDeFichier.xls"
    '   ou encore en précisant le chemin 
    ActiveWorkbook.SaveAs FileName:= "c/xxxx/gggg/../.../TonNomDeFichier.xls"
    Pour les détails il te faut consulter l'aide en ligne

    PPz

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Par défaut
    desolé ca ne marche pas et je n'ai pas de numéro d'incrémentation

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 324
    Par défaut
    Un début de solution...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    Function dernierNombre(ByVal repertoire As String, nomFeuille As String) As Integer
     
    Dim nomFichier As String, resultat As Integer, temp As Integer
     
    resultat = 0
    'Pas conviviable mais on va faire avec du Dir au lieu de passer par du FilesystemObject
    '(la flemme...)
    nomFichier = Dir(repertoire & nomFeuille & "*.xls")
    While (nomFichier <> "")
        temp = Val(Right(Left(nomFichier, Len(nomFichier) - 4), Len(Left(nomFichier, Len(nomFichier) - 4)) - Len(nomFeuille)))
        resultat = IIf(resultat > temp, resultat, temp)
        nomFichier = Dir()
    Wend
     
    dernierNombre = resultat + 1
     
    End Function
     
     
     
    Sub exporterExcel(ByVal repertoire As String, ByVal nomFeuille As String)
     
    Dim feuille As Excel.Worksheet, classeurCopie As Excel.Workbook, increment As Integer
     
     
    Set feuille = ThisWorkbook.Worksheets(nomFeuille)
     
    'Récupérer le dernier numéro de feuille créer dans le répertoire
    increment = dernierNombre(repertoire, feuille.Name)
    feuille.Copy
    Set classeurCopie = ActiveWorkbook
     
    Application.DisplayAlerts = False
    classeurCopie.SaveAs repertoire & feuille.Name & increment, xlNormal
    Application.DisplayAlerts = True
     
    classeurCopie.Close
    Set classeurCopie = Nothing
    Set feuille = Nothing
     
    End Sub
     
     
    'Procedure principale à lancer
    Sub copierFeuille()
     
    'On considère que dans l'exemple, le répertoire où seront mis les fichiers Excel est le même
    'que celui du classeur courant
    exporterExcel ThisWorkbook.Path & "\", "toto"
     
    End Sub

Discussions similaires

  1. Enregistrer une feuille dans un répertoire (et non le classeur entier)
    Par prog-amateur dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/11/2014, 14h03
  2. Réponses: 10
    Dernier message: 29/07/2014, 10h50
  3. Enregistrer une feuille sous PDF puis l'imprimer
    Par timo.net dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 18/12/2012, 11h10
  4. Suppression d'une feuille sous excel
    Par dimdidi dans le forum Langage
    Réponses: 2
    Dernier message: 06/02/2006, 09h29
  5. [VB.NET] Enregistrer une BDD sous un autre format
    Par botanique dans le forum Windows Forms
    Réponses: 9
    Dernier message: 16/01/2006, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo