Créer bouton de commande feuille précédente excel 2003 [Résolu/Fermé]

Signaler
Messages postés
34
Date d'inscription
lundi 7 avril 2014
Statut
Membre
Dernière intervention
30 avril 2015
-
Messages postés
34
Date d'inscription
lundi 7 avril 2014
Statut
Membre
Dernière intervention
30 avril 2015
-
Bonjour à tous,

Après de nombreuses recherches et divers essais, je viens vous demander de l'aide pour mon projet.

Voilà le problème, sur un fichier excel, je fais un suivi au mois de certaines données.
Ma première feuille étant le sommaire, puis une feuille par mois et ensuite diverses feuilles.
Pour chaque mois, j'ai un lien menant directement à une seule et même feuille : "Résultats" ; où je regroupe toutes les données.

Mon objectif est de créer un bouton de commande sur la feuille "Résultats" qui me ramènerait directement à la feuille d'où je viens et qui correspond donc au mois en cours.

Comme dit plus haut, j'ai déjà essayer de nombreuses macros et autres solutions mais sans succès.

En espérant avoir été clair dans mes explications, je remercie d'avance tous ceux qui pourront m'apporter de l'aide.

A+

3 réponses

Messages postés
7202
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
15 janvier 2021
598
Bonjour,

Ouvre un nouveau classeur et vois ce que fait cette macro:

Sub CreationLiens()
  Dim Feuille As Worksheets, n As Integer, L As Integer
  Dim ExisteFeuille As Boolean, wCell As Range, Réponse As Long
    On Error Resume Next
     ExisteFeuille = Worksheets("Répertoire").Name
     If Err.Number = 9 Then
        Err.Clear
        Réponse = _
        MsgBox("Il faut une feuille nommée ""Répertoire"" !" & vbCrLf _
            & "Voulez-vous la créer ?", vbYesNo, _
            "Création des liens Hypertextes")
        If Réponse = vbNo Then Exit Sub
        ActiveWorkbook.Worksheets.Add before:=Sheets(1)
        ActiveSheet.Name = "Répertoire"
      End If
      On Error GoTo 0
  With Sheets("Répertoire")
    L = 1
    .Cells.Clear
    For n = 1 To Worksheets.Count
      If Worksheets(n).Name <> "Répertoire" Then
        .Activate
        .Hyperlinks.Add _
            Anchor:=.Cells(L, 1), Address:="", _
            SubAddress:="'" & Worksheets(n).Name & "'!A1"
        .Cells(L, 1).Value = Worksheets(n).Name
        .Cells(L, 1).Select
        If Worksheets(n).[A1].Hyperlinks.Count = 1 Or _
                        IsEmpty(Worksheets(n).[A1]) Then
          Set wCell = Worksheets(n).[A1]
        ElseIf Worksheets(n).[B1].Hyperlinks.Count = 1 Or _
                        IsEmpty(Worksheets(n).[B1]) Then
          Set wCell = Worksheets(n).[B1]
        ElseIf Worksheets(n).[C1].Hyperlinks.Count = 1 Or _
                        IsEmpty(Worksheets(n).[C1]) Then
           Set wCell = Worksheets(n).[C1]
        End If
        If Not wCell Is Nothing Then
          Worksheets(n).Hyperlinks.Add _
            Anchor:=wCell, Address:="", _
            SubAddress:="'" & Worksheets("Répertoire").Name _
            & "'!" & .Cells(L, 1).Address(0, 0)

          wCell.Value = "Retour au Répertoire"
        End If
        L = L + 1
         Set wCell = Nothing
      End If
    Next
  End With
End Sub


a toi de l'adapter!
Messages postés
15519
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
16 janvier 2021
1 432
Bonjour,

un exemple:

code bouton dans VBA module1, code changement onglet dans VBA Thisworkbook

https://www.cjoint.com/c/DDhmldjORoN
Messages postés
34
Date d'inscription
lundi 7 avril 2014
Statut
Membre
Dernière intervention
30 avril 2015

Génial !!

Je vous remercie beaucoup de votre aide et du temps que vous m'avez consacré.


A+