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 :

Problème avec objet Worksheet


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 52
    Par défaut Problème avec objet Worksheet
    Bonjour à tous,

    J'ai un soucis avec un objet de type Worksheet. Je déclare l'objet comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim WkData As Worksheet
     
    Set WkData = Workbooks("BTU.xlsx").Worksheets("Véhicules BTU")
    Puis plus tard dans mon code, je veux utiliser la propriété Rows().hidden de cet objet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WkData.Rows(i).Hidden
    Sauf que ça ne marche pas (Propriété ou méthode non gérée par cet objet), cette propriété n'existe pas dans mon objet. Et pourtant en allant voir l'objet Worksheet dans l'explorateur objet, il y a bien une propriété Rows ainsi qu'une propriété Range, mais elles n'apparaissent pas dans mon objet déclaré (vu via l'espion)

    Merci pour votre aide

  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,
    Hidden est une propriété booléenne, il faut lui ajouter une valeur True ou False donc pour masquer la ligne dont le numéro est représenté par la variable i
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WkData.Rows(i).Hidden = True
    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
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par elkaktus Voir le message
    Puis plus tard dans mon code, je veux utiliser la propriété Rows().hidden de cet objet :
    Ceci représente-t-il l'intégralité de ta ligne de code ?
    Si c'est le cas, il est normal que ça ne fonctionne pas. Hidden n'est pas une méthode mais une propriété, elle ne peut donc pas avoir d'action par elle-même.
    On peut récupérer sa valeur (exemple MsgBox WkData.Rows(i).Hidden) ou lui assigner une valeur (exemple WkData.Rows(i).Hidden = True) mais on ne peut pas l'utiliser seule.

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 52
    Par défaut
    J'ai résolu le soucis en utilisant Worksheets(), merci pour votre aide.

    Le contexte en fait était que je testai si la ligne était masquée dans une boucle if :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If SheetSrc.Rows(i).Hidden = True Then

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Il se peut aussi que ce soit le ".xls" dans Workbooks qui pose problème.
    Pour le savoir, il faut mettre un point d'arrêt sur l'instruction qui pose problème et regarder le contenu de ta variable dans la liste des variables locales.

Discussions similaires

  1. [XL-2003] Macro VBA : Problème avec SaveAs Worksheet en .txt
    Par tity333 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/08/2010, 16h16
  2. Problème avec objet Word.Application
    Par Eldaorn dans le forum Windows Forms
    Réponses: 1
    Dernier message: 17/07/2009, 22h29
  3. [BO XI] Problème avec objet personnel et sous-chaîne
    Par claclapub dans le forum Deski
    Réponses: 2
    Dernier message: 04/07/2008, 11h29
  4. problème avec objet Stream
    Par Poussy-Puce dans le forum ASP
    Réponses: 3
    Dernier message: 02/06/2006, 23h30
  5. Problème avec objet fermé
    Par Mvu dans le forum ASP
    Réponses: 4
    Dernier message: 22/09/2005, 10h30

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