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 :

definir un public worksheet


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 7
    Par défaut definir un public worksheet
    Bonjour,
    Je souhaite définir une variable worksheet en public pour l'utiliser ensuite un peu de partout dans mon projet VBA, mais j'ai un beug que je n'explique pas. Je suis débutant, je pense que vous n'aurez pas de difficulter à m'aider, du moins je l'espère
    Voici mes quelques lignes de codes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Ws as Worksheet
     
    Sub hi
    Dim name as string
    Set Ws = Sheets("Ws_" & name)
    end sub
    Puis ailleurs dans un userform :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With Ws
    .activate
    end with
    Mais ... ERREUR ! sur le ".activate" manifestement ma variable n'est pas définie ...

    D'avance merci pour votre aide !!

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Normal
    Que contient ta variable name?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 7
    Par défaut
    Une chaine de caractere que je définie préalablement et que j'utilise ensuite pour nommer mon onglet.

    Je vais quand meme essayer en enlever la variable

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    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
    Public Ws as Worksheet
     
    Sub hi()
    Dim name as string
     
    name="XXX"
    Set Ws = Sheets("Ws_" & name)
    end sub
     
    Private Sub Userform_Initialize()
     
    Call hi
     
    msgbox ws.Name
    End Sub
    Tu auras Ws_XXX

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 7
    Par défaut
    Ca ne marche toujours pas...

    Petite précision, dans le userform ou je définie mes objets, je peux ensuite utiliser les variables.

    Par contre dans l'autre userform, la variable est inconnu alors qu'elle est définie en public ..

    Du coup une idée ?

    D'avance merci ..

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Déclare ta variable Ws dans un module standard pour être reconnue partout dans ton projet

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 7
    Par défaut
    Merci pour ta réponse Mercatog.

    Le probleme n'est pas de renommer l'onglet, mais qu'une fois l'avoir définie comme variable, "Ws" dans cette exemble, je puisse ensuite l'utiliser n'importe ou.

    Comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Ws
        .select
        . ...ext
    end with
    Et je ne comprends pas pourquoi, malgré que je l'ai définie en public, ça marche dans la fonction ou je l'ai définie mais pas ailleurs..

  8. #8
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    L'as-tu déclaré dans un Module Standard (ou dans le module de ton userform)?

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

Discussions similaires

  1. [Excel] Publication d'une feuille au format .htm
    Par talumn dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/02/2009, 03h57
  2. Réponses: 2
    Dernier message: 09/11/2003, 00h42
  3. Problème de publication en HTML
    Par chris21 dans le forum Flash
    Réponses: 10
    Dernier message: 03/09/2003, 21h28
  4. [CR9] publication d'états par RAS
    Par youl dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 10/07/2003, 18h26
  5. [VB6] [Datareport] définir un champ
    Par ckankonvahou dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/10/2002, 12h16

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