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 :

recupération de donnée a un instant précis


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 57
    Par défaut recupération de donnée a un instant précis
    help,
    je suis tout neuf en VBA et j'ai besoin de faire une macro qui me permette a chaque heure d'aller prendre une valeur dans une cellule et de la copier sur une autre!
    j'ai essayer avec un timer mais c'est pas assez précis il loupe des contrôles!
    si quelqu'un peut m'aider ca serait sympa!

  2. #2
    Membre émérite Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Par défaut
    Dans un module de ton classeur :

    Code vba : 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
     
    Public StopIt
     
    Sub InitOnTime()
     
      'lancement toutes les 2 heures
      depart = Now + TimeValue("02:00:00")
      ' ici ton code pour coller
      ' ...
     
      If Not StopIt Then
        Application.OnTime depart, "MaMacro"
      Else
        On Error Resume Next
        Application.OnTime depart, "MaMacro", Schedule:=False
      End If
     
    End Sub
     
    Sub MaMacro()
      InitOnTime
    End Sub
     
    Sub testStop()
      StopIt = True
    End Sub

    A adapter. Tu peux par exemple faire le InitOnTime à l'ouverture du classeur et forcer StopIt à True à la fermeture du classeur.

    .

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 57
    Par défaut
    j'ai essayé mais c'est pas ça !
    le but c'est que sur un feuille d'un classeur je récupère les données d'un autre classeur et d'une cellule en particulier et que je copie cette cellule dans un tableau ex: 1ier heure X pce 2iem heure X pce etc..donc faire une copie chaque heures des l'ouverture du classeur sans que cela ne perturbe les utilisateurs du classeur et que la macro s'arrête a la fermeture du classeur.
    si quelqu'un peut me donner un coup de main ca serait cool!

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Ce que te propose peutêtreunereponse est pourtant bien ça...!

    Je vais essayer de le retranscrire autrement, tu comprendras peut-être mieux
    1. Le code qui va définir le timing
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      Dim Timing As Date '<-- à déclarer en tête de module
       
      Sub Start_Timing()
      Timing = Now + TimeValue("01:00:00")
      Application.OnTime Timing, "MaMacro"
      End Sub
    2. Le code qui va chercher les infos dans la cellule
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      Sub MaMacro()
      '***************
      '...
      '...
      'précédure qui va chercher l'info dans la cellule
      '...
      '...
      '***************
       
      Start_Timing '<-- on relance le timing
       
      End Sub
    3. Le code qui va stopper le timing
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      Sub Stop_Timing()
      On Error Resume Next
      Application.OnTime Timing, "MaMacro", , False
      End Sub
    4. Le code pour lancer le timing à l'ouverture du classeur
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      Private Sub Workbook_Open()
      Start_Timing
      End Sub
    5. Le code pour arrêter le timing à la fermeture du classeur
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      Private Sub Workbook_BeforeClose(Cancel As Boolean)
      Stop_Timing
      End Sub

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 57
    Par défaut
    hello,
    comment doit etre formulé le code pour chercher les données dans une cellule et les copier dans une autre?
    et merci a tous!!!!!!

  6. #6
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    La question est un peu vague, plusieurs possibilités, voici la plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1") = Range("A2")
    Si ça ne convient pas, détaille un peu plus ce que tu souhaites obtenir

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

Discussions similaires

  1. [vb.net]recupération de donnée provenant d'un fichier xml
    Par moust dans le forum Windows Forms
    Réponses: 24
    Dernier message: 04/07/2005, 09h55
  2. Pb recupération de donnée
    Par Mano dans le forum ASP
    Réponses: 16
    Dernier message: 11/05/2005, 18h08
  3. Réponses: 2
    Dernier message: 20/01/2005, 15h19
  4. [MFC]Recupération de donnée et conversion
    Par Guilhem dans le forum MFC
    Réponses: 8
    Dernier message: 16/06/2004, 10h36
  5. [Indy TCPClient] Recupérer le données reçues
    Par fandor7 dans le forum Web & réseau
    Réponses: 8
    Dernier message: 29/06/2003, 21h52

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