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 :

[VBA-E]sauvegarde de .xls


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut
    ok j'avais vrement pas compris... mais il est toujour pas d'accord il atend un separateur ede fin de liste sur la ) lol

  2. #2
    Membre expérimenté
    Inscrit en
    Novembre 2005
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 130
    Par défaut
    oops pardon pour mon erreur

    Correction & amelioration

    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
    FichierIncremente = IncrementeFichier(Application.caller)
     
     Function IncrementeFichier(FichieraIncrementer)
     
        If InStr(1, FichieraIncrementer, "_") = 0 Then
            'Pas d'incrementation trouvé = premierfichier
            increment = "01"
      IncrementeFichier = FichieraIncrementer & "_" & increment
     
        Else
            'Si incrementation trouvée
            pos = InStr(1, FichieraIncrementer, "_")
            increment = Format(CStr(CDbl(Mid(FichieraIncrementer, pos + 1, Len(FichieraIncrementer)) + 1)), "00")
     IncrementeFichier = Left(FichieraIncrementer, pos) & increment
     
        End If
     
    End Function
    @+

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    En relisant l'aide, je m'aperçois que ça risque plus de t'embrouiller compte tenu de l'utilisation que j'en fait
    Supposons "Fichier.xls"
    J'ajoute "_" et "1" après fichier, ce qui donne Fichier_1
    Si je fais NomFichier = Left("Fichier_1", instr(Fichier_1,"_")-1)+ "_"+ "2"
    J'obtiens Fichier+ "_" + "2" = "Fichier_2"

    Mais en faisant ça, je m'aperçois que je m'ai trompé une nouvelle fois.. et que je t'ai fai perdre ton temps

    CORRECTION
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Sub SaveFiles() 
    'sauvegarde le .xls dans sauvegarde 
    Dim cmp 
    For cmp = 1 To 100 
        FileCopy "C:\Documents and Settings\avaysse\Mes documents\" & Application.Caller & ".xls","C:\Documents and Settings\avaysse\Mes documents\sauvegarde\" & Left(Application.Caller,instr(Application.Caller,"_")-1) & cstr(cmp)  & ".xls" 
     
        Workbooks.Open Filename:="C:\Documents and Settings\avaysse\Mes documents\" _ 
        & Left(Application.Caller,instr(Application.Caller,"_")-1) & cstr(cmp)  & ".xls" 
    Next 
    End Sub
    J'espère que tu voudras bien m'excuser, je répondais entre deux coups de téléphone...

    A+

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut
    je doute de ton code... se que je voudrais.. c'est renommer uniquement les fichier du dossier sauvegarde... mais pas les autres..


    J'espère que tu voudras bien m'excuser, je répondais entre deux coups de téléphone...
    tu est tout excuser tu n'es pas a mon service.. mais tu es la pour m'aidé

    EDIT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    FileCopy "C:\Documents and Settings\avaysse\Mes documents\" & Application.Caller & ".xls", _
        "C:\Documents and Settings\avaysse\Mes documents\sauvegarde\" _
        & Left(Application.Caller, InStr(Application.Caller, "_") - 1) & CStr(cmp) & ".xls"
    renvoi une
    incompatibilité de type...

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut
    juste pour savoir.. se serais possible de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    copie de mon fichier dans sauvegarde
     
    ouverture de mon fichier
     
    modification de mon fichier sauvegarde...
    aulieu d'essayer de tout faire en meme temp.. vu que sa plante.. lol

    EDIT dans cette idée...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Sub SaveFiles()
    'sauvegarde le .xls dans sauvegarde
    Dim cmp
    For cmp = 1 To 100
        FileCopy "C:\Documents and Settings\avaysse\Mes documents\" & Application.Caller & ".xls", _
        "C:\Documents and Settings\avaysse\Mes documents\sauvegarde\" & Application.Caller & ".xls"
        Workbooks.Open Filename:="C:\Documents and Settings\avaysse\Mes documents\" & Application.Caller & ".xls"
        Name "C:\Documents and Settings\avaysse\Mes documents\sauvegarde\" & Application.Caller & ".xls" _
        As "C:\Documents and Settings\avaysse\Mes documents\" _
        & Left(Application.Caller, InStr(Application.Caller, "_") - 1) & CStr(cmp) & ".xls"
    Next
    End Sub
    marche pas non plus

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    hello, me revoilou,
    Je suis allé faire des courses... Devine ! "Gost" ! Un logiciel de copie de disk...
    Bon et si on reprenait tout au début ?
    Tu veux copier ton fichier en lui affectant un N°
    Ensuite, quoi ?

    Pour que ce soit plus clair, ne peut-on pas passer par des variable ? Y a-t-il un empêchement ? Sinon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Sub SaveFiles() 
    'sauvegarde le .xls dans sauvegarde 
    Dim cmp, NomFich
    NomFich = Application.Caller 'Là, je ne peux pas tester (VBA97)
    For cmp = 1 To 1   'laisse à 1 pour cet essai
        FileCopy "C:\Documents and Settings\avaysse\Mes documents\" & NomFich & ".xls", _ 
        "C:\Documents and Settings\avaysse\Mes documents\sauvegarde\" & NomFich & "_" & cstr(i) & ".xls"
    Next
    Si, sur cette dernière ligne, tu as erreur "Incompatibilité de type", c'est que cstr n'est pas accepté.
    Si l'erreur survient sur "NomFich = Application.Caller" alors je ne comprends pas comment fonctionne cette propriété.

    Tu dis pendant que je te concocte une suite

    A+

    Comme je n'ai pas (encore) ta version, je travaille en aveugle

  7. #7
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut
    Si, sur cette dernière ligne, tu as erreur "Incompatibilité de type", c'est que cstr n'est pas accepté.
    en plein dans le mille sa marche po

    Je suis allé faire des courses... Devine ! "Gost" ! Un logiciel de copie de disk..
    vi je me suis deja servi de se genre de truc lol

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Bon, on va trouver autre chose : En plus, tu viens d'apprendre trim...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Sub SaveFiles() 
    'sauvegarde le .xls dans sauvegarde 
    Dim cmp, NomFich 
    NomFich = Application.Caller 'Là, je ne peux pas tester (VBA97) 
    For cmp = 1 To 1   'laisse à 1 pour cet essai 
        FileCopy "C:\Documents and Settings\avaysse\Mes documents\" & NomFich & ".xls", _ 
        "C:\Documents and Settings\avaysse\Mes documents\sauvegarde\" & NomFich & "_" & trim(str(i)) & ".xls" 
    Next
    Essai ça

  9. #9
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut


    tu veus une bonne nouvelle ?? sa a l'air de marcher impec

    je comprend plus rien a se prog...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Sub SaveFiles()
    'sauvegarde le .xls dans sauvegarde
    Dim cmp, NomFich
    NomFich = Application.Caller 'Là, je ne peux pas tester (VBA97)
    For cmp = 1 To 1   'laisse à 1 pour cet essai
        FileCopy "C:\Documents and Settings\avaysse\Mes documents\" & NomFich & ".xls", _
        "C:\Documents and Settings\avaysse\Mes documents\sauvegarde\" & NomFich & "_" & Trim(Str(i)) & ".xls"
    Next
    Workbook.Open Filename:="C:\Documents and Settings\avaysse\Mes documents\" & NomFich & ".xls"
    End Sub

  10. #10
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Donc, on continue !
    ça vient !

    A tout'

  11. #11
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Maintenant, tu peux faire sans te soucier de ce qu'il y a dans Application.Caller puisque NomFich ne changera plus jamais jamais

    Tu mets
    et picétou !

    A moins que tu fasses autre chose en plus...

    Tu dis

  12. #12
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut
    oui je doit ouvrir le classeur que je copie ( celui qui n'est pas dans sauvegarde...) et LA sa plante...
    EDIT


    si je reclique sur le bouton la seconde suivante rien ne se passe.. il ne fait pas une copie a chaque click...

  13. #13
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Sub SaveFiles() 
    'sauvegarde le .xls dans sauvegarde 
    Dim cmp, NomFich 
    NomFich = Application.Caller 'Là, je ne peux pas tester (VBA97) 
    For cmp = 1 To 1   'laisse à 1 pour cet essai 
        FileCopy "C:\Documents and Settings\avaysse\Mes documents\" & NomFich & ".xls", _ 
        "C:\Documents and Settings\avaysse\Mes documents\sauvegarde\" & NomFich & "_" & trim(str(i)) & ".xls" 
        Workbooks.Open Filename:="C:\Documents and Settings\avaysse\Mes documents\" _ 
    & NomFich & ".xls"
    Next
    Essaie ça

    Tu dis

  14. #14
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ce que je ne comprends pas c'est que tu ouvres 100 fois ton fichier.
    Tu ne veux pas seulement l'ouvrir une fois que tes 100 copies sont réalisées ?

    A+

  15. #15
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut
    oui sa la bien ouvert merci mais regarde l'edit de mon dernier port

  16. #16
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut
    erf

    je croi qu'on c'est tres tres mal compris...

    enfait se que je veu...

    c'est juste que mon fichier soit copié et ouvert... la copie doit etre incrementale.... le 100.. etait pour donné une valeur max a cette incrementation...
    Citation Envoyé par ogenki
    j'ai ecri une belle conerie

  17. #17
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu as laissé le compteur à 1
    Peux-tu répondre à ma dernière question ?

    Où se trouve le fichier à copier ?
    Où mets-tu la copie
    Quel fichier ouvres-tu ?
    Combien de fois veux-tu l'ouvrir ?

    Ouf !

    A tout'

    Edit
    Quel fichier ouvres-tu ?
    Je précise, le fichier incrémenté ou le fichier d'origine ?
    Pourquoi l'ouvrir 100 fois ?

  18. #18
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut
    Où se trouve le fichier à copier ?
    mes document


    Où se trouve le fichier à copier ?
    mes document \ sauvegarde



    Quel fichier ouvres-tu ?
    celui de mes document

    Combien de fois veux-tu l'ouvrir ?
    1 seule fois



    ouf! lol

    EDIT je veu rien ouvrir 100 foi.. on c'est mal compris ........

  19. #19
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Voilà j'ai vu ton dernier post... 1 fois ! ok, avant ou après avoir copié tes 100 fichiers ?

    A tout'

  20. #20
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut
    je veu pas ouvrir 100 foi

    erf bon oublie ce 100... prend l'infinie... je veu que temp que je click sur mon bouton sa crée une copie qui s'increment...a l'infini...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA][Word]Sauvegarder sans les macros
    Par Oui-Oui MB dans le forum VBA Word
    Réponses: 3
    Dernier message: 23/07/2007, 12h29
  2. [VBA-E]copie de .xls et formulaires
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 38
    Dernier message: 23/02/2006, 13h31
  3. [VBA-E].txt vers .xls
    Par Empty_body dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 08/02/2006, 14h46
  4. [VBA] MSDE Sauvegarde DB
    Par borislotte dans le forum Général VBA
    Réponses: 4
    Dernier message: 27/01/2006, 11h17
  5. [VBA EXCEL]Sauvegarde classeur
    Par Tan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/02/2005, 10h28

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