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 :

Thisworkbook capricieux ?


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
    Octobre 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2015
    Messages : 13
    Par défaut Thisworkbook capricieux ?
    Bonjour à tous

    Je rencontre un problème avec la fonction change de Thisworkbook

    Remarque liminaire : le fichier qui pose problème existe depuis plusieurs années, il n'a posé aucun problème d'utilisation
    jusqu'à sa migration vers un EXCEL 2013 (64 bits) ; à partir de ce moment la centaine d'utilisateurs, s'est vu régulièrement
    perdre leur travail, avec une fermeture d'EXCEL sans sauvegarde. Pour des raisons qui me sont propres, la sauvegarde
    automatique d'EXCEL DOIT être désactivée
    Le fichier est, pour moi assez gros, de 1Mo à 2 Mo, mais minimum 25 onglets, pouvant aller jusqu'à une bonne centaine d'onglets

    J'ai donc cherché à mettre dans Thisworkbook le code suivant permettant, je le croyais de réaliser des sauvegardes régulières,
    en fait tous les 5 changements, sans que les intéressés aient à se poser de questions, quasiment presque à l'insu de leur plein gré !

    Le code est le suivant :
    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
    Dim nbcHANgemeNT As Integer
    Option Explicit
     
    Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
     
    nbcHANgemeNT = nbcHANgemeNT + 1
               If nbcHANgemeNT = 5 Then
                 ActiveWorkbook.Save
                 CreateObject("Wscript.shell").Popup "Sauvegarde effectuée", 1, "Sauvegarde"
                 nbcHANgemeNT = 0
            Else: End If
     
    End Sub
     
    Private Sub Workbook_Open()
     
    nbcHANgemeNT = 0
         MsgBox "      Les programmes de travail ont été regroupés en un seul fichier..." & _
        "Bon courage !  " & vbCrLf & vbCrLf & _
        "                                                         Emmanuel, le 9 février 2018"
     
    End Sub
    Le code fonctionne parfaitement bien quand EXCEL est déjà ouvert, mais quand EXCEL s'ouvre pour la 1ère fois, au chargement du fichier
    la macro Workbook_SheetChange s'exécute et on voit apparaître le popup de Sauvegarde effectuée, et la seule de façon de calmer les ardeurs
    d'EXCEL est d'enfoncer la touche Echap

    Je ne m'explique pas pourquoi au chargement de ce fichier la variable n'est pas à zéro, mais en l'occurrence à 5, ou n'arrête pas de calculer des
    "changements", de façon à ce que la macro s'exécute ???

    Merci de votre aide

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Déjà que d'utiliser Wscript quand VBA a Msgbox c'est bizarre.

    Et puis, comme le chargement du fichier n'est pas instantané, c'est fortement probable que les feuilles s'ouvrent en série et que cela déclenche l'événement change et la macro qui vient avec, chaque fois qu'une feuille est chargée.

    Et puis, tu peux paramétrer une sauvegarde automatique du classeur après x minutes dans les options d'Excel

Discussions similaires

  1. VS2005 - Editeur de ressource capricieux
    Par titoine1978 dans le forum VC++ .NET
    Réponses: 5
    Dernier message: 04/09/2006, 22h59
  2. [JSP] Upload de fichier capricieux
    Par enguerran dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 19/06/2006, 09h05
  3. [VBA-E]thisworkbook.path
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 23/03/2006, 14h59
  4. [VBA Excel] Comment écrire un code dans le ThisWorkBook ?
    Par WebPac dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/05/2005, 15h03
  5. Login capricieux
    Par Sylvain James dans le forum XMLRAD
    Réponses: 2
    Dernier message: 30/04/2003, 01h46

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