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 :

Exécuter une macro sans ouvrir Excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Exécuter une macro sans ouvrir Excel
    Bonjour,
    1-je cherche a exécuter une macro qui lance un formulaire VBA sans rentrer dans Excel. Est ce possible?
    Actuellement je rentre dans Excel 2007 je clique sur développeur, sur macro puis j'exécute la macro..... Peut on le faire directement?
    2- C'est un formulaire de saisie avec plusieurs textbox. Dans ma première textbox je contrôle la saisie ( soit E soit S) et je voudrais passer a la textbox suivante des que l'une de ces 2 lettres est tapée..... ( Focus) mais je n'arrive pas a le faire avec VBA excell 2007....Est ce possible?
    Merci -
    Jao

  2. #2
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Salut,
    Pour ta question une, tu dois placer ton code actuel dans le module ThisWorkbook sur l'évènement Open. La macro se déclenche alors à l'ouverture d'Excel. Mais pour ouvrir un formulaire créer dans Excel sans ouvrir Excel, je vois pas...

    Pour le point deux, tu dois créer un évènement de type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private sub textBox_AfterUpdate()
    Vérifie l'ordre de tabulation de tes éléments dans ton userform et je crois que ton problème est résolu.

    A+

  3. #3
    Candidat au Club
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci Fvandermeulen de m'avoir répondu.
    pourrais je avoir plus de précisions?
    1- Que dois je mettre comme code dans ThisWorkbook/open?
    2- Quelle instruction mettre dans Private sub textBox_AfterUpdate() pour passer automatiquement par exemple a la textbox16?

  4. #4
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Re,

    Tu dis lancer une macro manuellement, cette macro est celle qui ouvre ton UserForm non? Si oui, tu copie ce code sauf la première ligne (sub ...) et le dernière (end sub) dans le module Thisworkbook dont tu utilise Open.
    Donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
    'Ici le code que tu lancais manuellement
    End Sub
    Pour ce qui est du passage à la TextBox 16, pas besoin de code, pour chaque élément de ton userform tu trouveras un TabIndex, Admettons ton TextBox 1 avec TabIndex1, si tu veux que le TextBox16 soit le suivant tu lui indique comme TabIndex 2.
    Le 'Private sub textBox_AfterUpdate()' te sert à pouvoir vérifier la valeur saisie.

    A+

  5. #5
    Candidat au Club
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    1-Pour la macro OK cela se lance automatiquement.... mais alors est il possible que la sortie ferme excell
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton5_Click()
    End
    End Sub
    2- Sorry! J ai mal formulé.
    Je repose ma question : y a t il un moyen de passer automatiquement de Tabindex1 a Tabindex2 sans appuyé sur la touche Tablature?

  6. #6
    Candidat au Club
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    1- donc pour fermer le classeur en sortant du formulaire il faut taper ce code dans un bouton "FIN" par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub CommandButton5_Click()
    ActiveWorkbook.Saved = True
    ActiveWorkbook.Close
    end sub
    2-Pour le passage entre tabindex il est impossible de les contrôler autrement que par les tablatures

    Merci a tous
    Ciao
    Jao

Discussions similaires

  1. Réponses: 10
    Dernier message: 24/09/2019, 10h50
  2. [WD14] Lancer une macro excel sans ouvrir excel
    Par christophe9117 dans le forum WinDev
    Réponses: 9
    Dernier message: 15/06/2011, 11h50
  3. Réponses: 11
    Dernier message: 29/05/2008, 16h26
  4. exécution d'une macro sans ouvrir le fichier
    Par sash6 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/05/2008, 11h49
  5. [VBA] Exécuter une macro Access Via Excel
    Par zenix dans le forum VBA Access
    Réponses: 1
    Dernier message: 05/05/2007, 00h11

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