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 :

Code pour automatiser une saisie avec sendkeys [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Par défaut Code pour automatiser une saisie avec sendkeys
    Salut le forum

    Permettez que j'aille droit au sujet.
    En effet, j'ai le code ci-dessous qui me permet de réaliser une saisie automatique vers un autre interface (word, excel lui-même ou un logiciel...).
    Lorsque j'exécute la macro sur word ou excel, l'automatisme de la saisie se fait sans difficulté.
    Mais lorsque je tente les même manoeuvres avec notre logiciel, il y'a des disfonctionnements :
    la saisie se fait automatiquement mais ne se termine pas : au lieu de 47 données à saisir automatiquement sur notre logiciel, il se limite souvent à 5, 10 ou 15 et le reste sans suite.
    Je vous le soumet afin de bénéficier de vos "connaissances magiques".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub activation()
    'On Error GoTo gestionerreur
    AppActivate "NOM DU LOGICIEL ICI"
    Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 4)
    For i = 3 To 50
        SendKeys Cells(i, 4).Value
        SendKeys "~"
    Next
    Exit Sub
    gestionerreur:
    MsgBox "fichier non ouvert ou réduit dans la barre des tâches : abandon"
    End Sub
    N.B: avec ou sans cette partie du code, c'est le même résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 4)
    Bonne compréhension

  2. #2
    Expert éminent
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    15 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 15 196
    Billets dans le blog
    10
    Par défaut
    Bonsoir

    Si cela fonctionne sous Word Excel c'est que le logiciel interprète mal quelque chose : Peut être le Next qui devrait être Next i il me semble.
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  3. #3
    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,

    L'utilisation de SendKeys n'est pas d'une fiabilité sans reproche... et en l'utilisant dans une boucle tu envois une rafale de commande en une fraction de seconde, le logiciel en question n'arrive probablement pas à le digérer.

    A tout hasard essaie comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For i = 3 To 50
        SendKeys Cells(i, 4).Value
        Application.Wait Now + TimeValue("00:00:01")
        SendKeys "~"
        Application.Wait Now + TimeValue("00:00:01")
    Next

  4. #4
    Membre éclairé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Par défaut
    Salut à tous

    Merci Fring. ca marche maintenant.
    Je vous remercie infiniment.

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

Discussions similaires

  1. [XL-2000] pbm pour automatiser une requete web avec vba
    Par progbase dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/11/2011, 10h22
  2. [XL-2007] Recherchev pour rechercher une correspondance avec une référence saisie
    Par manuseverine dans le forum Excel
    Réponses: 7
    Dernier message: 23/09/2011, 11h40
  3. Problème avec un code pour remplir une feuille de calcul
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 31/03/2011, 22h17
  4. Conseils pour developper une application avec Oracle
    Par belugha dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 02/06/2003, 16h03
  5. Récupérer le code HTML d'une page avec Delphi 7
    Par PsyKroPack dans le forum Web & réseau
    Réponses: 5
    Dernier message: 06/02/2003, 21h56

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