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

Excel Discussion :

Macro pour remplacer un nom dans la fenetre vba.


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2013
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Macro pour remplacer un nom dans la fenetre vba.
    Bonjour,

    Je cherche à faire une macro qui recupere le nom du classeur et qui l'utilise ensuite pour remplacer un parametre (autre nom) dans tout le code vba.

    Pensez vous que ce soit possible?

    Merci de votre aide,

    Cdlt

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Pour remplacer un nom connu (ici, "ancien.xls") :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub ModifCode()
    With ThisWorkbook.VBProject.VBComponents("Module2").CodeModule
        For i = 1 To .CountOfLines
            txt = .Lines(i, 1)
            If txt Like "*ancien.xls*" Then
                txt = Replace(txt, "ancien.xls", "nouveau.xls")
            End If
        Next i
    End With
    End Sub
    Dans les options du centre de gestion de la confidentialité, tu dois cocher "Accès approuvé au modèle d'objet du projet VBA".
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    Oui c'est possible.

    Dans un premier temps, pour récupérer le nom du classeur, la commande est :

    Ensuite, si tu veux utiliser le nom de celui-ci pour d'autres macros, je te conseille alors de créer ta requête avec un champ d'entrée, dans lequel tu pourra mettre ce nom. Par exemple :


    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
     
    Public NomC as string
     
    Sub Recupnom()
    NomC = ActiveWorkbook.name
    End Sub
    ...
     
    Sub Macro2(NomClasseur as string)
    'Code à faire sur le classeur
    End sub
    ...
     
    Sub MacroPrincipale()
    Call macro2(NomC)
    End Sub
    A toi de l'adapter à ce que tu veux faire
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

Discussions similaires

  1. [XL-2007] Macro pour récupérer des noms dans un onglet
    Par Nahtalie dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/04/2013, 15h07
  2. [XL-2007] Macro pour ajouter l'heure dans le nom du classeur
    Par EmmanuelleFFH dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 07/02/2011, 21h25
  3. [VBA-PP] macro pour insérer des images dans PowerPoint
    Par mashpro dans le forum VBA PowerPoint
    Réponses: 4
    Dernier message: 01/08/2006, 22h56
  4. macro pour remplire une liste dans une même cellule
    Par fabiend83 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/07/2006, 09h32
  5. [RegEx] motif pour remplacer un mot dans du code HTML ...
    Par r-zo dans le forum Langage
    Réponses: 6
    Dernier message: 31/03/2006, 13h31

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