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 :

copyfile sans bug


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Par défaut copyfile sans bug
    bonjour,
    j ai utilise cette methode pour selectionner le directory en fonction de checkbox et d un combobox, mais lorsqu il n y a aucun des cas qui est vraie,
    le copyfile me fait un bug.
    Alors biensur je peux mettre le copyfile pour les 4 directory dans le select case true mais si quelqu un a une autre proposition plus propre et moins lourde... Merci


    le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     Select Case True
        Case combobox2 = "A" And Sheet2.SalesSUP_03_A
            ss03 = "D:\Documents and Settings\be30enginering\My Documents\shared\structure\template A\1.0 Project Estimation And Booking\1.1 Sales Support\1.1.03 Correspondence to-from Third Party"
        Case combobox2 = "B" And Sheet2.SalesSUP_03_B
            ss03 = "D:\Documents and Settings\be30enginering\My Documents\shared\structure\template B\1.0 Project Estimation And Booking\1.1 Sales Support\1.1.03 Correspondence to-from Third Party"
        Case combobox2 = "C" And Sheet2.SalesSUP_03_C
            ss03 = "D:\Documents and Settings\be30enginering\My Documents\shared\structure\template C\1.0 Project Estimation And Booking\1.1 Sales Support\1.1.03 Correspondence to-from Third Party"
        Case combobox2 = "D" And Sheet2.SalesSUP_03_D
            ss03 = "D:\Documents and Settings\be30enginering\My Documents\shared\structure\template D\1.0 Project Estimation And Booking\1.1 Sales Support\1.1.03 Correspondence to-from Third Party"
        End Select
        SHCreateDirectoryEx 0&, ss03, 0&
        fso.CopyFile "D:\Documents and Settings\be30enginering\My Documents\shared\Safety inspection.doc", ss03 & "\"

  2. #2
    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
    If ss03 = "" then exit sub
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If ss03 <> "" then
         'ton code
       else
         'rien !
    endif
    Non ?

  3. #3
    Membre éclairé Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Par défaut
    Pour la premiere solution , je ne pourrai l appliquer car j ai 110 select case comme celui la ... donc je ne peux faire un exit sub...

    et pour la deuxieme je pref encore faire.

    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
    select case true 
    case 1...
    ss03 = 
    fso.copyfiles...
    case 2...
    ss03 = 
    fso.copyfiles...
    case 3...
    ss03 = 
    fso.copyfiles...
    case 4...
    ss03 = 
    fso.copyfiles...
    end select
    SHCreatedirectoryEx ...
    Desole Ouskel'Nor mais non tes solutions ne m arrange pas pour une fois.
    Dans tous les cas je te suis reconnaissant pour l aide que tu m apportes a chaque fois.

  4. #4
    Membre éclairé Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Par défaut
    je dis n importe quoi moi, tu devrai me rectifier Ouskel'Nor

    Je ne peux faire ce que j ai dis dans le message precedent car le directory SSO3 ne sera egale a .... qu apres le end select.

    donc impossible de faire un le fso.copyfile dans ce cas la...


    il faut que je trouve une autre solution


    EDIT:

    je vais comme sa: (solution ouskel'Nor numero2)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     If ss03 = "" Then
        Else
            fso.CopyFile "D:\Documents and Settings\be30enginering\My Documents\shared\Safety inspection.doc", ss03 & "\"
    End If

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut tomy7
    je vais comme sa: (solution ouskel'Nor numero2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     If ss03 = "" Then
        Else
            fso.CopyFile "D:\Documents and Settings\be30enginering\My Documents\shared\Safety inspection.doc", ss03 & "\"
    End If
    euh... moi je préfère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If ss03 <> "" Then fso.CopyFile "D:\Documents and Settings\be30enginering\My Documents\shared\Safety inspection.doc", ss03 & "\"
    A+

  6. #6
    Membre éclairé Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Par défaut
    je vais faire comme sa: (solution ouskel'Nor numero2)


    Code :
    If ss03 = "" Then
    Else
    fso.CopyFile "D:\Documents and Settings\be30enginering\My Documents\shared\Safety inspection.doc", ss03 & "\"
    End If
    non c est bien ce que j ai mis ou alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If not ss03= "" then  fso.CopyFile "D:\Documents and Settings\be30enginering\My Documents\shared\Safety inspection.doc", ss03 & "\"
    else
    'rien
    end if

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut tomy7
    pas tout compris, mais si ça marche, tu peu rajouter une variable Booleénne que tu testes avant de rechercher le directory

    le code:

    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
     
    Dim Flg as Boolean
     
    Select Case True
        Case combobox2 = "A" And Sheet2.SalesSUP_03_A
            ss03 = "D:\Documents and Settings\be30enginering\My Documents\shared\structure\template A\1.0 Project Estimation And Booking\1.1 Sales Support\1.1.03 Correspondence to-from Third Party"
            Flg=True
        Case combobox2 = "B" And Sheet2.SalesSUP_03_B
            ss03 = "D:\Documents and Settings\be30enginering\My Documents\shared\structure\template B\1.0 Project Estimation And Booking\1.1 Sales Support\1.1.03 Correspondence to-from Third Party"
            Flg=True
        Case combobox2 = "C" And Sheet2.SalesSUP_03_C
            ss03 = "D:\Documents and Settings\be30enginering\My Documents\shared\structure\template C\1.0 Project Estimation And Booking\1.1 Sales Support\1.1.03 Correspondence to-from Third Party"
            Flg=True
        Case combobox2 = "D" And Sheet2.SalesSUP_03_D
            ss03 = "D:\Documents and Settings\be30enginering\My Documents\shared\structure\template D\1.0 Project Estimation And Booking\1.1 Sales Support\1.1.03 Correspondence to-from Third Party"
            Flg=True
    End Select
    if Flg then
        SHCreateDirectoryEx 0&, ss03, 0&
        fso.CopyFile "D:\Documents and Settings\be30enginering\My Documents\shared\Safety inspection.doc", ss03 & "\"
    end if
    Ou utiliser dans le select le CaseElse pour mettre une valeur par défaut
    A+

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

Discussions similaires

  1. [AC-2010] modifier sans bug en même temps SourceObjet, champs père et fils ?
    Par jehhej dans le forum VBA Access
    Réponses: 9
    Dernier message: 23/10/2013, 13h27
  2. Recréer une page ASP sans BUGs.
    Par BlitzMX dans le forum ASP.NET
    Réponses: 1
    Dernier message: 24/09/2012, 13h05
  3. [XL-2000] Comment fermer un fichier excel si il est ouvert mais sans bug s'il n'est pas ouvert
    Par Avinetor dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/06/2009, 14h09
  4. comment construire une boucle infinie sans bug
    Par stuffy dans le forum Général Python
    Réponses: 1
    Dernier message: 07/07/2008, 18h53
  5. [debutant] acquérir un int d'un JtextField sans bugs
    Par laguna dans le forum Composants
    Réponses: 4
    Dernier message: 19/05/2006, 16h08

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