Créer bouton de commande feuille précédente excel 2003

Résolu
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

  1. Contributeur
    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!
    0
    1. Génial !!

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

      A+
      0