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 :

Exécution mensuelle de macro


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur Infrastructures
    Inscrit en
    septembre 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Infrastructures
    Secteur : Finance

    Informations forums :
    Inscription : septembre 2015
    Messages : 33
    Points : 25
    Points
    25
    Par défaut Exécution mensuelle de macro
    Bonjour
    Je fais une macro excel en prenant des données externes à partir d'un fichier texte/CSV.
    J'ai la macro suivante.
    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
    ActiveWorkbook.Queries.Add Name:="snpp (3)", Formula:= _
            "let" & Chr(13) & "" & Chr(10) & "    Source = Csv.Document(File.Contents(""\\NXPFile001.commun01.svc\VDI_CA-GIP$\Homedir_VDI_CAGIP\U54KR63\My Documents\Thierry\Production\LCL\Suivi acces passerelles SGF\2021\Fichiers Juin 2021\snpp.fcs106m""),[Delimiter="";"", Columns=12, Encoding=1252, QuoteStyle=QuoteStyle.None])," & Chr(13) & "" & Chr(10) & "    #""Type modifié"" = Table.TransformColumnTypes(Source,{{""Column1"", type" & _
            " text}, {""Column2"", type text}, {""Column3"", type date}, {""Column4"", type text}, {""Column5"", Int64.Type}, {""Column6"", Int64.Type}, {""Column7"", Int64.Type}, {""Column8"", Int64.Type}, {""Column9"", Int64.Type}, {""Column10"", Int64.Type}, {""Column11"", Int64.Type}, {""Column12"", type text}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    #""Type modifié"""
        ActiveWorkbook.Worksheets.Add
        With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
            "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""snpp (3)"";Extended Properties=""""" _
            , Destination:=Range("$A$1")).QueryTable
            .CommandType = xlCmdSql
            .CommandText = Array("SELECT * FROM [snpp (3)]")
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .PreserveColumnInfo = True
            .ListObject.DisplayName = "snpp__3"
            .Refresh BackgroundQuery:=False
        End With
    Chaque mois je dois executer cette macro, donc je veux la modifier pour la pérenniser, sauf que je ne sais pas comment avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActiveWorkbook.Queries.Add Name:="snpp (3)",
    Location=""snpp (3)""
     .ListObject.DisplayName = "snpp__3"
    A chaque fois que j'execute cette macro, le chiffre s'incrémente et ma macro se plante.
    comment faire pour soit incrémenter aussi ce chiffrre, ou le stabiliser à 1 ?
    Ou comment supprimer ma requete snpp_3 juste avant ?
    Merci.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    juillet 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : juillet 2020
    Messages : 24
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    Je pense que passer par du VBA n'est pas le plus pratique. Uniquement l'utilisation de Power Query devrait être suffisant.
    J'avais ouvert une discussion il y a quelques semaines sur un sujet similaire au tient, je te conseil d'aller y jeter un coup d'oeil, tu devrais avoir les réponses à tes questions.
    https://www.developpez.net/forums/d2...cel-vers-seul/

    Bon courage

Discussions similaires

  1. Exécution d'une macro dans une base Access en VB6
    Par Safaritn dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 25/05/2007, 18h00
  2. Revenir sur la cellule sélectionné après exécution d'une macro
    Par Daniel-Gérald dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/02/2007, 22h50
  3. [EXCEL] interrompre l'exécution d'une macro
    Par ustilago dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/10/2006, 11h24
  4. [VBA-E]Exécution d'une macro en arrière-plan
    Par Mirx1 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 26/04/2006, 00h13
  5. Allongement d'uin temps d'exécution d'une macro
    Par avanrill dans le forum Access
    Réponses: 2
    Dernier message: 06/03/2006, 20h29

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