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 :

Connaitre le numero de la premiere ligne et derniere ligne visible a l'ecran


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 102
    Par défaut Connaitre le numero de la premiere ligne et derniere ligne visible a l'ecran
    Bonjour a tous,
    Je rencontre un petit souci en Vb avec excel.
    L'idée est: faire une recherche d'un texte et si il est trouvé , amener le curseur d'excel dessus pour affichage a l'ecran.(aucun souci dessus).

    c'est la que je coince, si la ligne trouvé est déjà visible a l'ecran, on ne doit rien faire.

    deux solutions;
    une fonction qui existe en vb pour savoir si oui ou non la ligne est a l'ecran.

    deuxieme solution, une fonction qui me donne la premiere ligne et la derniere ligne visible a l'ecran, (apres il est facile de faire une moulinette pour mon souci).

    Si vous avez une solution, ou une piste, je suis preneur
    Merci a vous.

    t

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Je ne vais pas te donner de solution, car je ne l'ai pas.

    Par contre je vais te demander de réfléchir à ce que tu demandes :

    Il faut gérer :

    1 - Le fait que les résolutions peuvent être différentes d'un écran à l'autre, donc le nombre de lignes affichés ne sera pas le même.
    2 - Le fait que certaines personnes font un zoom sur la feuille, donc de même le nombre de lignes à l'affichage sera différent.
    3 - Si la personne n'affiche pas la fenêtre Excel en plein écran, mais en réduit pour voir une autre application en même temps.

    Je ne penses pas qu'une fonction toute faite existe (je me trompe peut-être).

    Je laisse aux autres le soin de te répondre, mais je voulais t'énumérer les cas possibles (peut-être que cela aidera les autres à résoudre ton problème).

    Starec

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 102
    Par défaut
    Je pense qu'il doit exister une methode,
    Je souhaite simplement connaitre le numero de la premiere et la derniere ligne qui apparait, theoriquement, peut importe la taille de l'ecran ou le mode zoom, excel se reajuste, et donc la fonction si elle existe redonnera les nouvelles references de ligne.

    j'ai tout simplement besoin de savoir si ma recherche que j'ai lancé par la fonction Application.WorksheetFunction.Match est dans la zone affichée a l'ecran.

    Si on prends un exemple d'un richedit, il existe des messages comme GetFirstvisibleline et getLastvisibleline, j'ai besoin de la meme chose mais sous excel.

  4. #4
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonjour à tous,

    tu peux peut être limiter la plage avec la propriété ScrollArea de la feuille, avant ta recherche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Worksheets(1).ScrollArea = "a1:f10"
     
    '''procédure............
     
    Worksheets(1).ScrollArea = ""
    cordialement

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je suis allé le chercher loin celui-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test()
    NbColonnes = Windows(1).VisibleRange.Columns.Count
    NbLignes = Windows(1).VisibleRange.Rows.Count
    PremLigneVisible = ActiveWindow.ScrollRow
    PremColVisible = ActiveWindow.ScrollColumn
    PlageVisible = Range(Cells(PremLigneVisible, PremColVisible), _
           Cells(PremLigneVisible + NbLignes, PremColVisible + NbColonnes)).Address
    MsgBox PlageVisible
    End Sub
    Allez, tu vas le passer ton bon week-end !
    A+

    PS - ... on peut simplifier...

  6. #6
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Par défaut
    Bonjour à tous

    Tout simplement GENIAL

    J'ai un écran 15 pouces, je suis obligé de modifier la partie de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PlageVisible = Range(Cells(PremLigneVisible, PremColVisible), _
           Cells(PremLigneVisible + NbLignes, PremColVisible + NbColonnes)).Address
    en :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PlageVisible = Range(Cells(PremLigneVisible, PremColVisible), _
           Cells(NbLignes,NbColonnes)).Address
    sinon la dernière cellule est à +1 dans les 2 sens

    Merci

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

Discussions similaires

  1. derniere ligne + sauts de ligne
    Par askan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 16/12/2009, 18h24
  2. Réponses: 3
    Dernier message: 10/10/2006, 08h26
  3. Enlever la premiere et derniere ligne
    Par Slein dans le forum Linux
    Réponses: 2
    Dernier message: 28/07/2006, 12h30
  4. Réponses: 22
    Dernier message: 28/04/2006, 12h52
  5. [SQL-SERVER] Connaitre le numero de version d'une BD
    Par Sytchev3 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 27/03/2006, 15h03

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