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 :

Classeur s'ouvre sous un autre nom et la macro plante.


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Automaticien
    Inscrit en
    Octobre 2019
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Automaticien

    Informations forums :
    Inscription : Octobre 2019
    Messages : 75
    Points : 51
    Points
    51
    Par défaut Classeur s'ouvre sous un autre nom et la macro plante.
    Bonjour tout le monde,

    J'ai un classeur Recette.xlsm qui est lancé depuis une autre application (PCVue), selon les informations trouvées dans un fichier texte, le classeur doit:
    -La nuit, récupérer les recettes mises à jour et/ou de nouvelles recettes grâce à la connexion de données (Données stockés sur le serveur de l'entreprise de notre client).
    -Lors de la production, à chaque lancement d'Excel, la macro filtre dans un tableau la recette qui est renseigné dans un fichier texte. Afin de filtré facilement, l'instruction suivante est utilisé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=1, Criteria1:= generique

    De manière général, le classeur fonctionne bien, mais de temps en temps, à l'ouverture, un seconds classeur est créé et semble être une copie. A ce moment, excel exécute la macro de ce classeur "fou" et génère évidement une erreur d'exécution. En parallèle, L'application qui a lancé le classeur de recette, execute un cyclique qui va lire le résultat du filtrage, ce cyclique s'éxécute tant que le nom de la recette reçu n'est pas celui demandé...

    Je n'ai pas constaté d'évènement particulier quand le classeur "fou" se lance, je ne sais où allez chercher une solution...
    Auriez-vous des pistes ou des explications sur ce phénomène?

    Merci d'avance et bonne journée.

  2. #2
    Membre du Club
    Homme Profil pro
    Automaticien
    Inscrit en
    Octobre 2019
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Automaticien

    Informations forums :
    Inscription : Octobre 2019
    Messages : 75
    Points : 51
    Points
    51
    Par défaut
    Quelques info supplémentaire:
    OS: Windows 10 Entreprise 2016 LTSB
    PC: KEP IOT Tactile

    Le problème n'a pas été constaté sur windows 7 et le pack office 2010.

    Une fois le filtrage fait, une fonction de sauvegarde est lancé avec la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.OnTime Now + TimeValue("00:00:01"), "closeThisWb"
    procédure closeThisWb:
    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
    Sub closeThisWb()
    Dim name As String
    Dim debugUser As String
    ThisWorkbook.Save
    Workbooks.Application.ScreenUpdating = True
    debugUser = Sheets("Cooking").Range("A3").Value
    'Debug.Print debugUser
    name = Environ("Username")
    If name = "KEPFrance" Then '
        Application.DisplayAlerts = False
     
        If debugUser = "1" Then 'Affichage de la fenetre en mode debug
            Application.WindowState = xlNormal
        Else
            'ActiveWindow.Close
            ThisWorkbook.Close
        End If
    End If
    End Sub
    La procédure de filtrage:
    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
    33
    34
    35
    36
    37
    38
    39
    40
    Sub FiltreAuto()
    '
    ' FiltreAuto Macro
    '
    Dim Secteur As String
    Dim generique As String
    '
        'Sheets("Connexions aux données").Select
        'ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=1
        'ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=2
        'ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=3
        'ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=4
        'ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=5
        'ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=6
     
        Secteur = Sheets("Cooking").Range("A4").Value
        Sheets(Secteur).Select
        Cells.Select
        'Range("D27").Activate
        Selection.ClearContents
        generique = Sheets("Cooking").Range("A2").Value
        Sheets("Connexions aux données").Select
        Range("A1").Select
        ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=1, Criteria1:= _
            generique
        Range(Selection, Selection.End(xlToRight)).Select
        Range(Selection, Selection.End(xlDown)).Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets(Secteur).Select
        Range("A1").Select
        ActiveSheet.Paste
        Columns("B:B").Select
        Selection.Delete Shift:=xlToLeft
        Rows("1:1").Select
        Selection.Delete Shift:=xlUp
        replaceCommaByDot (Secteur)
        Application.OnTime Now + TimeValue("00:00:01"), "closeThisWb"
        'ThisWorkbook.Save
    End Sub

Discussions similaires

  1. Sauvegarde automatique de fichier excel sous un autre nom
    Par Jonathan Raucy dans le forum Excel
    Réponses: 1
    Dernier message: 30/01/2008, 14h37
  2. copier un signet et le coller sous un autre nom
    Par A@Lah dans le forum VBA Word
    Réponses: 2
    Dernier message: 17/01/2008, 18h05
  3. Réponses: 19
    Dernier message: 23/11/2007, 01h45
  4. Réponses: 1
    Dernier message: 25/04/2007, 16h45
  5. Réponses: 2
    Dernier message: 23/03/2007, 15h19

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