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 :

thisworkbook . name


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 271
    Par défaut thisworkbook . name
    bonjour à tous
    mon problème est le suivant:
    j'ai developpé des macros dans un classeur.
    j'ai met la condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if thisworkbook.name="aaaaa.xls" then
    .
    .
    end if
    pour chaque macro
    ma question est:
    est ce qu'il y a une methode plus pratique pour ecrire ma condition une seul fois.
    merci

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    peux-tu nous exposer ce que tu entends exactement (contexte et détails) par "une seule fois" ?

    Tu précises par ailleurs avoir développé cette macro dans un classeur (que tu connais donc)....

    Explique plus clairement ce que tu cherches à faire (c'est pour l'instant un mystère, bien que l'on puisse deviner mais nous ne sommes pas là pour deviner, tel qu'exposé !)

  3. #3
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 271
    Par défaut
    bjr ucfoutu
    voici un exp:
    le 1er macro:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Workbook_Open()
    Dim sh As Worksheet
    If ThisWorkbook.Name = "WP MOIS ANNEE1.xls" Then
    Worksheets(1).Name = "f1"
    'Worksheets(2).Name = "f2"
    .
    .
    .
    .
    .
    End If
    End Sub
    le 2eme macro:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
    Dim valeur
    Dim annee
    If ThisWorkbook.Name = "WP MOIS ANNEE1.xls" Then
    .
    .
    .
    .
    .
    End If
    End Sub
    comment je peux mettre la condition une fois pour tout sans la repeté dans chaque macro
    càd: executer les macro si ThisWorkbook.Name = "WP MOIS ANNEE1.xls"
    merci.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Comme le dit Ucfoutu, ce n'est toujours pas très clair.

    A mon avis, pour pouvoir vous répondre, ce qu'il faut savoir c'est ce qui se passe si la réponse est "oui" mais aussi si la réponse est "non".

  5. #5
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Tu peux mettre dans l’open à true une variale boolean publique déclarée ou il faut, si le name est OK, mais ça ne change pas grand-chose vu que c’est elle qu’il faudra tester.

    Ce qu’il faut c’est savoir le pourquoi !!!

    Vu que t’invoques Thisworkbook qui s’adresse donc au classeur qui contient le code, je soupçonnerai que ton problème viendrait d’un classeur de base dont tu te servirais pour faire des traitements et que tu sauvegarderais sous un autre nom ensuite (genre « faux modèle »). Le problème en découlant est qu’il conserverait en l’état le code vba dont tu ne voudrais pas (pour tout ou partie) qu’il s’exécute pour ces classeurs.

    Dans ce cas, le mieux serait de regarder dans le forum, FAQ, Tutos les nombreux exemples pour sauvegarder des classeurs sans tout ou partie du code….

    cordialement,

    Didier

  6. #6
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 271
    Par défaut Remplacement des balises de code par les balises citation
    merci Ormonth

    Vu que t’invoques Thisworkbook qui s’adresse donc au classeur qui contient le code, je soupçonnerai que ton problème viendrait d’un classeur de base dont tu te servirais pour faire des traitements et que tu sauvegarderais sous un autre nom ensuite (genre « faux modèle »). Le problème en découlant est qu’il conserverait en l’état le code vba dont tu ne voudrais pas (pour tout ou partie) qu’il s’exécute pour ces classeurs.
    c'est bien mon problème.

Discussions similaires

  1. [C++]Machine Name
    Par Dos dans le forum MFC
    Réponses: 4
    Dernier message: 14/01/2004, 18h19
  2. [EJB] [JBOSS][javax.naming.NameNotFoundException]
    Par hamed dans le forum Java EE
    Réponses: 5
    Dernier message: 18/12/2003, 19h00
  3. [XSL] insérer une balise <a name>
    Par guibong dans le forum XMLRAD
    Réponses: 2
    Dernier message: 01/08/2003, 16h04
  4. TXMLModule.create - name = resource not found
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 04/03/2003, 11h54
  5. naming service
    Par manuel dans le forum CORBA
    Réponses: 6
    Dernier message: 09/12/2002, 18h43

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