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 :

Condition pour nommer un fichier et ou l'enregistrer [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 69
    Par défaut Condition pour nommer un fichier et ou l'enregistrer
    Bonjour, je m’appelle Arnaud et je débute dans les macros Excel depuis deux semaines....
    J’ai déjà compris pas mal de chose mais là je cale sur les conditions…
    J'aurais besoin d'un code pour contrôler deux cellules, suivant ce qu'il y a dedans j'applique un enregistrement sous un nom et un chemin sur un serveur différent (il y a trois cas possible)
    Exemple :

    ................1.....................................2
    1 Présentation par : ........................CdR
    2 Nature : .....................................Dépense
    3 Mouvements : .............................Tous
    4 Mandatement début : ...................01/09/2012 fin : 30/09/2012
    5 Exercice :....................................2012
    6 Etape budgétaire : .......................DM2
    7 Type d'AP/EPCP : .........................EPF

    Il faut que la condition de la case 2:2 soit égale à "Dépense" ET que la case 7:2 soit égale à "EPF", si oui j’enregistre mon fichier avec comme nom "depense_epf_oct" et sur le chemin "E:\Macro\T2B\1\"

    Si non il faut que la case 2:2 soit égale à "Dépense" ET que la case 7:2 soit égale a "EPI" auquel cas j’enregistre mon fichier avec comme nom "depense_epi_oct" et sur le chemin "E:\Macro\T2B\2\"

    Et si les deux conditions ci-dessus ne sont pas bonne il me reste un choix, si la case 2:2 soit égale à "Recette" ET que la case 7:2 soit égale a "REC" auquel cas j’enregistre mon fichier avec comme nom "recette_rec_oct" et sur le chemin "E:\Macro\T2B\3\"

    Je ne sais pas si mes explications seront claires pour vous….

    @+ Arnaud

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Une piste :
    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
     
    Sub Test()
     
        Dim Fichier As String
     
        'concatène les cellules B2 et B7 en minuscules et sans l'accent
        Fichier = LCase(Replace([B2], "é", "e")) & "_" & LCase([B7]) & "_oct.xls"
     
        'défini le dossier selon le cas
        Select Case [B7]
     
            Case "EPF"
            Fichier = "E:\Macro\T2B\1\" & Fichier
     
            Case "EPI"
            Fichier = "E:\Macro\T2B\2\" & Fichier
     
            Case "REC"
            Fichier = "E:\Macro\T2B\3\" & Fichier
     
        End Select
     
        MsgBox Fichier
     
    End Sub
    Hervé.

  3. #3
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Une autre 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
    Sub Test()
    Dim Fichier As String
    Dim EnregOK As Boolean
        EnregOK = True
        If Range("B2") = "Dépense" Then
            If Range("B7") = "EPF" Then
                Fichier = "E:\Macro\T2B\1\depense_epf_oct"
            ElseIf Range("B7") = "EPI" Then
                Fichier = "E:\Macro\T2B\2\depense_epi_oct"
            Else
                EnregOK = False
                MsgBox " Ce type d'AP/EPCP n'est pas prévu dans un poste de Dépense."
            End If
        ElseIf Range("B2") = "Recette" Then
            If Range("B7") = "REC" Then
                Fichier = "E:\Macro\T2B\3\recette_rec_oct"
            Else
                EnregOK = False
                MsgBox " Ce type d'AP/EPCP n'est pas prévu dans un poste de Recette."
            End If
        Else
            EnregOK = False
            MsgBox " Aucun traitement prévu pour ce poste."
        End If
        If EnregOK Then
            MsgBox "Enregistrement sous " & Fichier
        Else
            MsgBox "Pas d'enregistrement."
        End If
    End Sub
    Cordialement.

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 69
    Par défaut
    Salut, et merci pour vos réponses !

    Je suis entrain de voir comment ça fonctionne :

    Pour la solution de "Theze" a priori ça contrôle que la case "B7" ?

    La solution de "gFZT82" me parait bien, mais après plusieurs essaie,
    si j'ai "Dépense" en "B2" et "EPI" en "B7" il me l'enregistre pas ?


    Autant pour moi, la soluce de "gFZT82" fonctionne bien, pour mes essaie je n'avais pas respecté la syntaxe Minuscule et Majuscule.....

    J'essaie de comprendre mais j'ai quelques lacune là dessus.....

    @+ Arnaud

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

Discussions similaires

  1. [XL-2010] Macro pour nommer un fichier selon un signet ou le nom d'une cellule
    Par benadry dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/03/2014, 11h40
  2. Utiliser un format de valeur pour nommer un fichier
    Par mohamed_ dans le forum SAS Base
    Réponses: 4
    Dernier message: 27/12/2012, 19h26
  3. Condition pour copier dans un fichier
    Par Lereyn dans le forum Windows Forms
    Réponses: 10
    Dernier message: 17/01/2010, 09h11
  4. [WD-2003] Variable pour nommer des fichiers après un publipostage
    Par Chriscom74 dans le forum VBA Word
    Réponses: 3
    Dernier message: 30/11/2009, 15h00
  5. récupérer nom machine pour nommer fichier
    Par deepwrath dans le forum Linux
    Réponses: 1
    Dernier message: 19/04/2007, 22h54

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