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 :

Valeur d'une cellule visible avec xlCellTypeVisible


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
    Technicien réseaux et télécoms
    Inscrit en
    Mars 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Mars 2017
    Messages : 22
    Par défaut Valeur d'une cellule visible avec xlCellTypeVisible
    Bonjour,

    je débute en VBA et je cherche à récupérer dans une variable la valeur d'une cellule visible (j'utilise un filtre).
    J'essaye ce code mais il me dit "propriété ou méthode non gérée par cet objet"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("Y3", Cells(Rows.Count, "Y").End(xlUp)).SpecialCells(xlCellTypeVisible).Cells(1, 1)
    Merci d'avance

  2. #2
    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
    Décompose le problème pour resserrer le champ de recherche.

    Commence par regarder ce que te renvoies Cells(Rows.Count, "Y").End(xlUp).
    puis Range("Y3", Cells(Rows.Count, "Y").End(xlUp)).
    puis Range("Y3", Cells(Rows.Count, "Y").End(xlUp)).SpecialCells(xlCellTypeVisible).

  3. #3
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mars 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Mars 2017
    Messages : 22
    Par défaut
    je viens d'essayer.
    Pour Cells(Rows.Count, "Y").End(xlUp), il me met le même message
    Pour Range("Y3", Cells(Rows.Count, "Y").End(xlUp)), il me met "erreur de compilation attendu :="
    puis Range("Y3", Cells(Rows.Count, "Y").End(xlUp)).SpecialCells(xlCellTypeVisible) -> ça fonctionne ! mais sans bien comprendre la raison...

  4. #4
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mars 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Mars 2017
    Messages : 22
    Par défaut
    En fait ça marche pour la première case et c'est tout. Si je remplace "Y3" par "Y1" ça me mets un message d'erreur. De plus, j'ai besoin de lire la case suivante mais je ne vois pas comment faire.

  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
    Citation Envoyé par titi_038 Voir le message
    je viens d'essayer.
    Pour Cells(Rows.Count, "Y").End(xlUp), il me mets le même message
    Peux-tu écrire la totalité de la ligne de code que tu as testée ?

  6. #6
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mars 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Mars 2017
    Messages : 22
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Peux-tu écrire la totalité de la ligne de code que tu as testée ?
    J'ai mis exactement la ligne de code que tu avais mis, à savoir Cells(Rows.Count, "Y").End(xlUp) telle quelle

    EDIT :
    J'ai mis ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range("Y3", "Y398").SpecialCells (xlCellTypeVisible)
    et je n'ai plus de message d'erreur. Pour autant, j'ai essayé de l'afficher avec Msgbox et cela ne fonctionne pas.
    Comment accéder au contenu de ce range ?? je sèche...

  7. #7
    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 titi_038 Voir le message
    J'ai mis exactement la ligne de code que tu avais mis, à savoir Cells(Rows.Count, "Y").End(xlUp) telle quelle
    Une référence de cellule en elle-même ne peut rien faire.
    Je ne sais pas exactement ce que tu comptes obtenir de cette ligne, mais indiquer juste un objet ne peut pas être interprété par VBA comme une instruction.

    J'ai mis ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range("Y3", "Y398").SpecialCells (xlCellTypeVisible)
    et je n'ai plus de message d'erreur. Pour autant, j'ai essayé de l'afficher avec Msgbox et cela ne fonctionne pas.
    Comment accéder au contenu de ce range ?? je sèche...
    Mets la référence dans une variable de type Range et regarde le résultat dans la fenêtre des variables locales en faisant avancer ton code en pas-à-pas.

Discussions similaires

  1. Doubler une valeur dans une cellule Excel avec un checkbox
    Par Rowmanow dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/06/2017, 20h01
  2. renommer un fichier avec la valeur d'une cellule
    Par 241P17 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/03/2008, 22h55
  3. Réponses: 2
    Dernier message: 17/07/2007, 14h52
  4. [Excel] Filtre de colonne avec la valeur d'une cellule
    Par repié dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/04/2006, 14h58
  5. cellule d'une table visible avec focus dans div scrollable
    Par echecetmat dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/03/2005, 10h57

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