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 :

personnalisé la rangée à l'ouverture d'un fichier excel en VBA [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de Pascal1970
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Octobre 2016
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Canada

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2016
    Messages : 31
    Par défaut personnalisé la rangée à l'ouverture d'un fichier excel en VBA
    Bonjour à tous,

    À chaque ouverture de mon fichier, après avoir trouver la cellule contenant EX: "pascal" j'aimerais que sa ligne soit positionné, dans la fenêtre window, à la cinquième rangée du haut pour être prêt à entrer les données. Les 4 premières étant l'entête seront figés. Je ne veux pas qu'il soit déplacé mais défilé..., j'espère d'avoir bien expliqué?

    Pouvez-vous m'indiquer la formule exacte...je ne suis vraiment pas certain ce que j'avance ci-bas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub workbook_open()
     
        Cells.Find("pascal").Select
        activewindow.......
     
    End Sub
    MERCI BEAUCOUP!

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour

    Je ne suis pas certain d'avoir bien compris.
    Regarde ce que fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Goto Reference:=Worksheets("Feuil2").Range("A10"),  Scroll:=True
    (choisis true ou false selon ce que tu veux pour l'argument scroll)
    ou cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ActiveWindow.ScrollRow = 10
    en conjuguant au besoin avec Select, selon le but que tu cherches à atteindre.

    EDIT : en te re-relisant, le mot "figées" retient mon attention.
    Ne serait-ce pas ceci, que tu voudrais finalement ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     With ActiveWindow
      .SplitRow = 4
      .FreezePanes = True
      .Panes(2).ScrollRow = 5
    End With
    (pas certain, mais ce pourrait bien être ce que tu cherches)

  3. #3
    Membre averti Avatar de Pascal1970
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Octobre 2016
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Canada

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2016
    Messages : 31
    Par défaut
    Je ne suis pas très loin de la réponse avec activewindow.scrolrow = 5 que tu me suggères...

    À l'ouverture du fichier je lui demande de chercher un mot en particulier exemple: "pascal"

    mon programme trouve effectivement la cellule rechercher et la page est bien positionner à la ligne 5...sauf que...

    La cellule trouver est à la ligne 35 présentement, j'aimerais que ce soit cette ligne qui remonte en haut de la page soit à la cinquième ligne de la page pour plus de visibilité.

    autrement dit, après avoir trouver la cellule contenant "pascal", je veux que toute sa ligne soit affiché en haut de la page soit à la ligne 5.

    à la prochaine ouverture le mot "pascal" sera à la ligne 36 mais je veux qu'il soit toujours lisible sur la cinquième ligne de la page. Suis-je un peu plus claire? C'est pas trop évident

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub oioi()
    Const ValeurCherchee As String = "toto"
    Const LignesAuDessus As Long = 4
    Dim LaFeuille As Worksheet
    Set LaFeuille = ActiveSheet
     
    ActiveWindow.ScrollRow = Application.WorksheetFunction.Max(LaFeuille.UsedRange.Find(ValeurCherchee).Row - LignesAuDessus, 1)
    End Sub
    à totalement sécuriser :

    1) renseigner tous les paramètres de la méthode Find
    2) prévoir le cas où Find ne trouve rien (= utiliser une variable range et tester si elle n'est pas "nothing")
    3) customiser la valeur cherchée, la feuille où chercher et le nombre de lignes affichées au dessus
    4) prévoir comment gérer le cas où la valeur cherchée est sur une ligne plus petite que le "nombre de LignesAuDessus" (ou égale)


    j'ai déjà partiellement sécurisé le cas 4 ...

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Si tu veux que l'on s'entende, montre ce que tu entends par "page". Les termes sont ici importants et sont partie intégrante d'un langage partagé et compris par tous sans laisser la moindre place à l'ambiguïté.
    Le mieux sera, si tu as des difficultés à utiliser des termes techniques et pour éviter tout doute et toute confusion (déjà assez nombreux), de mettre ici une capture d'écran de ce que tu souhaites voir affiché (entêtes comprises) dans le cas, par exemple, de ta "ligne 35"

  6. #6
    Membre averti Avatar de Pascal1970
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Octobre 2016
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Canada

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2016
    Messages : 31
    Par défaut
    Merci Joe.levrai

    Je ne comprend pas beaucoup ton codage mais il fait exactement ce que je m'attends de lui!

    Et cette fois je n'oubli pas de faire résolu "pour le Modérateur"

    Merci encore.

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

Discussions similaires

  1. [AC-2007] Ouverture d'un fichier excel en vba
    Par ezequielfranck dans le forum Access
    Réponses: 1
    Dernier message: 24/09/2014, 10h54
  2. [XL-2010] Ouverture d'un fichier Excel par VBA
    Par cameleon1970 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/04/2012, 12h35
  3. [AC-2000] Ouverture d'un fichier Excel depuis VBA Access
    Par Aeltith dans le forum VBA Access
    Réponses: 2
    Dernier message: 19/06/2010, 15h43
  4. Ouverture d'un fichier Excel en VBA par Access
    Par illight dans le forum Access
    Réponses: 2
    Dernier message: 02/11/2005, 11h14
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

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