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 :

Correction de macro svp [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juillet 2015
    Messages : 20
    Par défaut Correction de macro svp
    Bonjour à tous,
    voici mon tout premier post (sur ce forum), je me réfère à vous pour amener
    une correction que je ne peux faire dù à mon manque de connaissances dans
    ces macros. Je désire en apprendre plus, et je sais que dans ces forums, il y a
    de biens bonnes personnes très compétentes.

    Voici la macro: elle copie des cellules Excel (A1 à G13), ouvre une boite de dialogue pour
    enregistrer les cellules copiées dans un fichier texte. Tous fonctionne bien, mais
    quand la boite de dialogue est ouverte et que je clique sur "annuler", cela va créer
    un fichier texte nommé: "faux.txt". J'aimerais empêcher cela et simplement fermer la boite de dialogue.

    Merci d'avance de m'éclairer et de m'apprendre.

    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
    Sub Save_en_txt()
    Dim wbSource As Workbook
    Dim wsSource As Worksheet
    Dim wbDest As Workbook
    Dim fName As String
     
    'References
    Set wbSource = ActiveWorkbook
    Set wsSource = ActiveSheet
    Set wbDest = Workbooks.Add
     
    'Copy range on original sheet
    wsSource.Range("A1:G13").Copy
     
    '----------------------------
    'Save in new workbook
    wbDest.Worksheets(1).Cells(1, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
    Application.CutCopyMode = False
     
    'Get file name and location from user
    fName = Application.GetSaveAsFilename(FileFilter:="Text Files (*.txt), *.txt", Title:="Save As")
    If fName = "" Then Exit Sub '//user cancelled
     
    'Save new tab delimited file
    wbDest.SaveAs fName, xlText
     
    wbDest.Close SaveChanges:=True
    '----------------------------
     
    MsgBox "FICHIER EXPORTÉ"
     
    End Sub

  2. #2
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 174
    Billets dans le blog
    2
    Par défaut
    Bonsoir Tancuda,

    Si tu cliques sur Annuler dans GetSaveAsFileName, il renvoie la valeur False
    Je laisserais donc fName en variant pour pouvoir tester s'il est booléen, et sortir dans ce cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim fName
    ...
    ...
    fName = Application.GetSaveAsFilename(FileFilter:="Text Files (*.txt), *.txt", Title:="Save As")
    If vartype(fName) = vbBoolean or fName = "" Then Exit Sub
    ...
    Essaie d'utiliser la balise Code (#) quand tu postes du code

  3. #3
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juillet 2015
    Messages : 20
    Par défaut
    Merci de votre réponse, mais j'ai pas très bien compris, je suis vraiment débutant, comment laisser fName en variant ?

    Et que veux tu dire par "utiliser la balise Code (#)..." pouvez-vous élaborer? svp merci

  4. #4
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 174
    Billets dans le blog
    2
    Par défaut
    Re,

    Quand tu postes un message, tu as des boutons au-dessus
    Le bouton # permet de mettre en forme le code

    comment laisser fName en variant ?
    Si tu ne précise pas le type d'une variable quand tu la déclares, elle sera en Variant

    donc

    ou

    c'est pareil

    un bon tuto : http://silkyroad.developpez.com/VBA/LesVariables/

  5. #5
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juillet 2015
    Messages : 20
    Par défaut
    Merci Tototiti2008,
    j'ai finalement écrit tes lignes correctement
    dans ma macro, et ca fonctionne,
    je m'avais trompé la première fois, j'avais laisser "Dim fName as string"
    et non "Dim fname"

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

Discussions similaires

  1. [AC-2003] Correction de macro
    Par Sylcoco dans le forum IHM
    Réponses: 2
    Dernier message: 27/02/2014, 10h40
  2. Amélioration/Correction syntaxe macro
    Par daddygraffiti dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/08/2013, 22h06
  3. comment créer correctement un macro sur notepad++ ?
    Par razily dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 09/02/2012, 11h45
  4. Vérif (correction) d'algorithmes - SVP
    Par Duch9 dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 19/02/2011, 12h34
  5. Correction de requête SVP
    Par Le Pharaon dans le forum Langage SQL
    Réponses: 3
    Dernier message: 20/01/2006, 13h32

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