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 :

Recherche d'un onglet par une variable


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
    responsable production
    Inscrit en
    Décembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : responsable production
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 6
    Par défaut Recherche d'un onglet par une variable
    J ai fais une recherche sur le forum mais j ai rien trouvé concernant
    mon sujet.

    Voici ma demande

    Je fais une macro pour faire les fonctions suivantes

    Je déclare une variable X ----Pas de pb

    J’ouvre un nouveau fichier ---- Pas de pb

    Puis il me faut ouvrir l’onglet qui
    correspond à la variable (exemple 38) et la je sais pas faire.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Dim f As String
     f = 38
     ThisWorkbook.Worksheets(f).Activate
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    responsable production
    Inscrit en
    Décembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : responsable production
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 6
    Par défaut
    J ai fais çà et cela ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      Dim Va1 As String
        Va1 = ['Données'!H2]  ' Variable pour Sélectionner la semaine
     
     
        Range("V17").Select
        Workbooks.Open Filename:= _
            "P:\Atelier\Indicateur Atelier\TableauHebdoTournage.xlsm", Notify:=False
            ThisWorkbook.Worksheets(Va1).Activate

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,

    Je teste toujours les réponses que je publie et dans mon code ThisWorkbook est le classeur où se trouve le code VBA ce qui ne semble pas être ton cas.
    Il faudrait donc l'adapter
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    responsable production
    Inscrit en
    Décembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : responsable production
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 6
    Par défaut
    Je ne remets pas en cause ton code quand je dis que cela ne marche pas mes je me remets plus moi en cause.
    Toujours est-il que je ne sais pas comment faire pour que cela marche
    Merci beaucoup pour votre aide
    Patrice

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour sélectionner une feuille, c'est la méthode Activate de l'objet Worksheet et une feuille fait partie d'une collection Worksheets
    donc Worksheets(1).Activate active la première feuille du classeur actif mais il est préférable d'utiliser le nom de la feuille Worksheets("Feuil6").Activate et encode mieux d'utiliser son CodeName comme par exemple Feuil6.Activate
    Cependant pour éviter des problèmes inévitables lorsque l'on a plus d'un classeur ouvert, il y a lieu de préciser l'objet parent de la feuille soit le classeur.
    Soit si la valeur de la variable shName est égal "38"
    Si le classeur est celui sur lequel se trouve le code VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.Worksheets(shName).Activate
    Si le classeur n'est pas ThisWorkbook
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("NomClasseur").Worksheets(shName).Activate
    J'ajoute que si c'est pour écrire ou lire dans une cellule ou une plage de cellules se trouvant sur une feuille quelconque, il n'y a aucune raison d'utiliser les méthodes Activate ni Select
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. [XL-2010] Remplacer le nom d un onglet par une variable
    Par toto92 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/02/2014, 16h40
  2. [XL-2003] Recherche Partielle dans un Range/Cell indexé par une variable.
    Par gicquelmaxime dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 17/11/2012, 14h05
  3. valeur d'un champ text modifié par une variable en parametre
    Par klimero dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 21/04/2006, 10h39
  4. [XML] specifier la DTD par une variable d'environnement
    Par xxiemeciel dans le forum Valider
    Réponses: 2
    Dernier message: 20/03/2006, 16h28
  5. Réponses: 3
    Dernier message: 11/12/2005, 11h15

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