Comment mettre à jour périodiquement une feuille de calcul Excel avec une minuterie VBA

Partage maintenant:

Cet article explique comment actualiser une feuille de calcul ou un graphique à intervalles réguliers. Cet exercice crée un minuteur qui actualise la feuille de calcul toutes les minutes, reflétant les modifications apportées aux données source.

Cet article suppose que le lecteur a affiché le ruban Développeur et est familiarisé avec l'éditeur VBA. Si ce n'est pas le cas, veuillez Google "Excel Developer Tab" ou "Excel Code Window".

Un exemple du cahier d'exercices utilisé dans cet exercice se trouve ici.

Les utilisations des rapports dynamiques peuvent être :

  • Lecture de la base de données propriétaire fournie avec votre système téléphonique d'entreprise, pour analyser les appels.
  • Générez un nombre aléatoire toutes les 15 minutes à des fins de prix ou de tombola.
  • Envoyez automatiquement des e-mails depuis votre base de données locale lorsque certains niveaux sont atteints. (ici, le chronomètre décidera de déclencher ou non le processus, en fonction des niveaux atteints).

ou, celui que nous utiliserons :

  • Affichez le dernier taux de change USD/EUR sur Internet.

Les données sont extraites du Site Yahoo Finance toutes les minutes. Une fois testé avec succès, un intervalle de traitement plus long doit être remplacé.

L'interface

Ouvrez un nouveau classeur ;

Nommez la première feuille "Affichage". Étant donné que les tableaux D8 à E11 seront remplis à partir du Web, il n'est pas nécessaire de saisir des valeurs ou des en-têtes de ligne. Le reste est facultatif.Préparer l'interface

Le code

Ouvrez la fenêtre du code VBA et insérez un module. Copiez le code ci-dessous dans le module.

L'événement Auto_Open démarre le minuteur à l'ouverture du classeur et l'arrête à sa fermeture, sauf si le code est interrompu par le développeur pendant le développement.Code VBA

Sub Auto_Open()
AlertTime = Now + TimeValue("00:01:00") 'interval in minutes
Application.OnTime AlertTime, "Ticker"      'call Sub Ticker, below
End Sub

Sub Ticker()
    Dim currBuy As String
    Dim currSell As String

    Range("D8:F11").ClearContents            'prepare the destination for the web data
    currBuy = "USD"
    currSell = "EUR"
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://finance.yahoo.com/q?s=" & currBuy & currSell & "=X", Destination:=Range("$D$8"))
        .Name = "q?s=" & currSell & currBuy & "=X"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = """table1"""
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
    AlertTime = Now + TimeValue("00:01:00") ‘move trigger on a minute
    Application.OnTime AlertTime, "Ticker"
End Sub

Le Résultat

Toutes les n minutes, le tableau de la feuille "Affichage" sera mis à jour à partir du site Web de Yahoo. Reportez-vous au site Web de Microsoft pour des connexions de données plus complexes.

Récupération de classeurs corrompus

Il arrive qu'Excel plante de manière inattendue, probablement en raison d'un manque de ressources. Dans ce cas, le fichier source peut être irrémédiablement endommagé et refuser de se rouvrir. En l'absence de sauvegardes régulières, un outil de récupération est nécessaire. Excel corrompu les fichiers seraient inestimables.

Introduction de l'auteur:

Felix Hooker est un expert en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris réparation rar et produits logiciels de récupération sql. Pour plus d'informations, visitez www.datanumen.com

Partage maintenant:

Les commentaires sont fermés.