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 :

Simulation de touches avec Excel 97 sous Office2010


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 55
    Par défaut Simulation de touches avec Excel 97 sous Office2010
    Bonjour

    Besoin d'aide..... vous trouverez le code ci dessous qui simule les touches ALT m, ALT s, ALT r et ce successivement afin de déclacher une mise à jour de données.

    j'ai fait un compteur pour passer toutes les feuilles du classeur une par une et sur chaque feuille déclancher la mise à jour.
    Mon problème est que la mise à jour ne se fait que sur la dernière feuille du classeur
    D'avance merci
    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
    Sub faire_clic()
     
    'Dim ws As Worksheet
    Dim w As Integer
    ligne_copie = 0
    cpt = Worksheets.Count - 1
    For w = 1 To cpt
        maFeuille = w
        If w <> 1 Then
            Sheets(maFeuille).Activate
            If Trim(Range("a1").Value) = "" Then 'Si vide mettre  à jour
               Range("e3").Activate
                Call tempo
                Sheets(maFeuille).Activate
                faire_toucheClavier
            End If
        End If
    Next
    End Sub
    Sub tempo()
      Application.StatusBar = "Merci de patienter"
      Application.Wait Now + TimeValue("00:00:01")
      Application.StatusBar = False
    End Sub
    Sub faire_toucheClavier()
    SendKeys "%m", True
     
    Call tempo
    SendKeys "%s", True
     
    Call tempo
    SendKeys "%r", True
     
    End Sub

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 55
    Par défaut un peu de clarté
    je vais essayer de faire plus clair en ce qui concerne mes codes
    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
     
    Dim w As Integer
    ligne_copie = 0
    cpt = Worksheets.Count - 1
    For w = 1 To cpt
    maFeuille = w
    If w <> 1 Then
    Sheets(maFeuille).Activate
    If Trim(Range("a1").Value) = "" Then 'Si vide mettre à jour
    Range("e3").Activate
    Call tempo ' appell de la Macro tempo
    Sheets(maFeuille).Activate
    faire_toucheClavier ' appel de la macro simul touche clavier
    End If
    End If
    Next
    End Sub
    code pour le tempo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sub tempo()
    Application.StatusBar = "Merci de patienter"
    Application.Wait Now + TimeValue("00:00:01")
    Application.StatusBar = False
    End Sub
    Code pour la simul
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub faire_toucheClavier()
    SendKeys "%m", True
     
    Call tempo
    SendKeys "%s", True
     
    Call tempo
    SendKeys "%r", True
     
    End Sub
    Merci de votre aide

  3. #3
    Membre éclairé Avatar de nchal
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 512
    Par défaut
    Salut,

    J'ai cru t'avoir répondu mais non. :\
    Je te proposais de passer par un For Each
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim wsh as Worksheet
    For each wsh in Thisworkbook.worksheets
        wsh.activate
        call tempo
        call faire_touche
    next
    Je te laisse le soin d'adapter tout ça comme il faut.

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    bonsoir ,

    c'est quoi cette manière de mettre à jour tes feuilles ... à quoi servent tes actions sur ces touches ? moins l'on se sert de sendkeys ... mieux c'est

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 55
    Par défaut Precision
    Tout d'abord merci pour l'interet que vous portez à mon soucis.
    Pour répondre à nchal ..... La boucle For Each ne fonctionne pas non plus.

    Je continue à chercher de mon coté.

    Pour répondre à BBIL.

    C'est une base de données Nationale, qui est redéployée au niveau régional.
    Nous devons la rafraichir tous les mois.
    Pour rafraichir on se connecte à un serveur et on rafraichit via un menu.
    (ADIN EXCEL) si tu connais.
    voilà donc la raison de ces combinaisons de touche.
    ALT m pour aller au menu complément
    ALT s pour aller au sous menu
    ALT r pour rafraichir la page.

    Si il y avait qu'une page pas de macro
    Mais j'ai 3 fichiers avec environ 40 pages.

    autre précison sous Windows Xp et excel 97 tout fonctionnait

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 55
    Par défaut
    Je me permets de revenir vers le forum.

    Perso je n'ai pas trouvé de solution.

    Autre précision, ma combinaison de touche se fait mais juste sur la dernière feuille de ma boucle. par exemple de la feuille 1 à 20, les feuilles sont activées, une par une et à la dernière, mon action de simulation de touches se répète 20 fois.

    Vraiment besoin d'aide

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/02/2014, 19h23
  2. Réponses: 1
    Dernier message: 12/07/2006, 18h48
  3. petit soucis avec le vb sous excel
    Par motard_fou dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/06/2006, 13h29
  4. Simuler une touche par une autre sous Windows
    Par sdelaunay dans le forum Windows
    Réponses: 2
    Dernier message: 05/05/2006, 14h31
  5. [Excel] Courbes sous Excel avec Visual Basic
    Par françoisc dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/05/2005, 09h18

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