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 :

modifier une procédure par programmation


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
    Mars 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Par défaut modifier une procédure par programmation
    Bonjour,

    Je voudrais savoir s'il est possible de transférer ou de modifier une procédure ou un userform par programmation. L'objectif est de mettre à jour un projet dans lequel des procédures et des boîtes de dialogue ont été modifiées. J'ai déjà transféré des "patchs" qui corrigent des données ; j'ai aussi envoyé une nouvelle version du projet avec une procédure de récupération des informations saisies dans la version précédente, mais le projet devient un peu "volumineux" et les corrections à apporter sont parfois légères ; il me semblerait donc plus intéressant de pouvoir corriger le code à l'aide d'une procédure mais je ne vois pas comment faire. J'ai essayé de trouver des éléments dans différents forums, mais sans succès jusqu'alors...

    Merci par avance à tous ceux qui pourraient m'aider à résoudre ce problème !

  2. #2
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    bonjour kikou63,

    oui c'est possible,

    par exemple s'il y a dans le module1 la macro suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub test1()
    x = zaza
    End Sub
    dans le module2 la macro pour remplacer le mot "zaza" du module 1 sera:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub ModificationUnMotÀlaFois()
    Dim S As String
      With ThisWorkbook.VBProject.VBComponents("Module1").CodeModule
        S = .Lines(1, .CountOfLines)
      End With
      S = Join(Split(S, "zaza"), "sasa")
      With ThisWorkbook.VBProject.VBComponents("Module1").CodeModule
        .DeleteLines 1, .CountOfLines
        .AddFromString S
      End With
    End Sub
    isabelle

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    En complément, voici un tutorial sur le sujet : Visual Basic Editor

    Philippe

  4. #4
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    bonjour Philippe,

    merci pour ce lien, j'aime bien la méthode Ancien et Nouveau pour modifier un mot je trouve que c'est plus explicite.

    isabelle

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 20
    Par défaut Merci !
    Merci beaucoup à Isabelle et Philippe. Le premier exemple est très éclairant ; le tutoriel est pour sa part absolument génial et remarquablement aidant. Je m'y plonge sur le champ pour découvrir de nouvelles possibilités, mais j'ai d'ores et déjà repéré des pistes qui vont bien me faciliter le travail.

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

Discussions similaires

  1. [WD17] Modifier titre d'une table par programmation
    Par alex1005 dans le forum WinDev
    Réponses: 7
    Dernier message: 08/02/2013, 14h30
  2. [C#]Restaurer une fenêtre par programmation
    Par SLE dans le forum Windows Forms
    Réponses: 4
    Dernier message: 09/06/2006, 23h40
  3. Modifier une requête par des données différente
    Par leloup84 dans le forum Requêtes
    Réponses: 9
    Dernier message: 06/03/2006, 14h23
  4. [dblookup] afficher une valeur par programmation
    Par let_me_in dans le forum Bases de données
    Réponses: 1
    Dernier message: 11/05/2005, 14h42
  5. Modifier une image par pixels
    Par mateo.14 dans le forum MFC
    Réponses: 10
    Dernier message: 21/01/2005, 15h09

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