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 :

Gérer le bouton Web "précédent"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 44
    Par défaut Gérer le bouton Web "précédent"
    Est-il possible de forcer la mise en mémoire d'une position précédente sous excel afin de pouvoir y retourner grâce au bouton web "précédent" ?

    Ci-joint un exemple du fichier pour l'application:
    - à l'ouverture, j'affiche les boutons web "précédent" & "Suivant"; à la fermeture, je les supprime.
    - Les feuilles "Mensuel Chargement" & "Mensuel Voiture" présentent l'activité mensuel d'après la feuille "registre".
    Un double clic dans un "Mensuel"
    - en ligne 2 présente toute l'activité pour le champs sélectionné (filtrage du registre)
    - dans le tableau de donnée présente uniquement l'activité pour le mois sélectionné.

    CE QUE JE SOUHAITERAIS :
    Après le double clic, mettre en mémoire la position d'origine afin de pouvoir y retourner grâce au bouton précédent.

    par avance Merci,
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Salut,
    J'ai jeté un rapide coup d'oeil à ton fichier, voici un bout de code pour tes boutons afin d'y associer une action, à toi d'adapter avec les URL voulues car j'avoue ne pas avoir cherché à comprendre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Option Explicit
    Sub auto_open()
     
        With Application.CommandBars("standard").Controls.Add(msoControlButton, 1017, , 1)
        .OnAction = "BackURL"
        End With
        With Application.CommandBars("standard").Controls.Add(msoControlButton, 1018, , 2)
        .OnAction = "FwdURL"
        End With
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub BackURL()
     
    MsgBox "Retour URL précédent" 'A rempacer par le code qui renvoi l'adresse URL précédente
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub FwdURL()
     
    MsgBox "URL suivant" 'A remplacer par le code qui renvoi l'adresse suivante en cas de back
     
    End Sub
    Bonne continuation

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 44
    Par défaut Oui mais
    En fait je souhaitais basculer vers la feuille registre en simulant l'accès via un lien hypertexte (ce qui me permettait de revenir en arrière avec "précédent")

    Un code du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Hyperlinks.Follow NewWindow:=False, AddHistory:=True
    Bien entendu, cela ne marche pas

    J'ai intégré (pour exemple), un lien hypertexte fixe dans les feuilles "mensuels"
    Fichiers attachés Fichiers attachés

  4. #4
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Je veux être certain d'avoir bien compris...

    1° Tu es sur la feuille "mensuel voiture".
    Tu clique sur Back et tu veux aller sur la feuille "Registre"
    Tu clique sur Fwd tu vas sur la feuille "Mensuel Chargement"

    2° Tu es sur la feuille "Mensuel Chargement"
    Tu clique sur Back tu vas à "Mensuel voiture"
    Tu clique sur Fwd tu vas à Registre

    C'est ça ou tu veux récupéré la dernière feuille du genre,
    j'étais sur "Registre" et j'ai été sur "voiture mensuel" en cliquant sur Back j'arrive à "Registre" ?

    A+

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 44
    Par défaut
    C'est presque ca :

    Tu es sur Mensuel Voiture (ou sur Mensuel Chargement)
    Tu double-clic soit
    - sur la ligne 2,
    - soit dans le tableau
    Automatiquement s'affiche la feuille "registre" avec filtre opéré.

    --> en cliquant sur précédent, tu retourne à la feuille Mensuel d'origine

  6. #6
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Re,
    Dans ce cas une astuce assez simple est de réaffecter une macro au bouton dans le module de feuille, voici ton code de la feuille adapté Mensuel voiture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Option Explicit
    Public Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If ActiveCell.Row > 1 Then
        Select Case ActiveCell.Column
            Case 3 To 7
            If Worksheets("Registre").FilterMode = True Then Worksheets("Registre").ShowAllData
            Worksheets("Registre").Range("A1").AutoFilter field:=4, Criteria1:=ActiveCell.Offset(2 - ActiveCell.Row, 0).Value
            If ActiveCell.Row > 2 Then
                Worksheets("Registre").Range("A1").AutoFilter field:=1, Criteria1:=ActiveCell.Offset(0, 1 - ActiveCell.Column).Value
                Worksheets("Registre").Range("A1").AutoFilter field:=2, Criteria1:=ActiveCell.Offset(0, 2 - ActiveCell.Column).Value
                End If
        End Select
    End If
        With Application.CommandBars("standard").Controls("Back")
        .OnAction = "BackMV" 'Renvoi à la Macro du nom, donc BackMC pour l'autre feuille
        End With
     
    Sheets("registre").Select
    End Sub
    Et dans le module général
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub auto_open()
     
        With Application.CommandBars("standard").Controls.Add(msoControlButton, 1017, , 1)
        .OnAction = "BackMV"
        End With
        With Application.CommandBars("standard").Controls.Add(msoControlButton, 1018, , 2)
        .OnAction = "BackMC"
        End With
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub auto_close()
        Application.CommandBars("Standard").Controls(1).Delete
        Application.CommandBars("Standard").Controls(1).Delete
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub BackMV()
     
    Sheets("Mensuel voiture").Select
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub BackMC()
     
    Sheets("Mensuel chargement").Select
     
    End Sub

Discussions similaires

  1. Désactivation des boutons Suivant et Précédent du navigateur Web
    Par dtcSearch dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/04/2010, 15h47

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