Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Sommaire dynamique qui Pointe vers des cellules du classeur

  • Initiateur de la discussion Initiateur de la discussion fm17
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

fm17

XLDnaute Nouveau
Bonjour à tous,

Voilà, je ne suis pas un expert en VBA, loin de là. Je me crée à titre professionnel une application sous excel.

J'ai réussi à construire quelques macros intéressantes, mais là je bloque.

J'aurai eu besoin de générer sur la page d'accueil un sommaire dynamique (liens hypertexte), qui se complète en fonction de la validation ou non d'une cellule. En clair, si ladite cellule détient la valeur "VALIDE", elle vient s'ajouter au sommaire sous la forme d'un lien hypertexte (dont le nom est défini par la cellule voisine à celle portant la valeur "VALIDE"). Ces cellules "VALIDE" correspondant à des fiches de saisie différentes, elles peuvent se trouver "n'importe où" dans le classeur.

Je dispose du code suivant, qui fait la même chose, mais uniquement sur les onglets:

Private Sub Worksheet_Activate()
Range("C6").Select
Range(ActiveCell, [C65000].End(xlUp)).ClearContents
For i = 2 To Sheets.Count
nf = Sheets(i).Name
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'" & _
nf & "'" & "!A" & Sheets(i).[A65000].End(xlUp).Row, TextToDisplay:=nf
ActiveCell.Offset(1, 0).Select
Next i
End Sub

Je ne sais pas si je me suis bien fait comprendre...mais j'espère que vos connaissances majeures m'aideront!
 
Re : Sommaire dynamique qui Pointe vers des cellules du classeur

Bonjour,
Un essai comme ceci peut-être, en mettant le code dans le module de ThisworkBook, en changeant la feuille sommaire par le nom de ta page d'accueil (Attention à la "Casse") et la colonne où mettre les LIENS
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If UCase(Target) = "VALIDE" And ActiveSheet.Name <> "Sommaire" Then
With Sheets("Sommaire")
Derlign = .Range("A65000").End(xlUp).Row + 1
.Hyperlinks.Add Anchor:=.Range("A" & Derlign), Address:="", SubAddress:="" & ActiveSheet.Name & "!" & Target.Offset(0, 1).Address, _
TextToDisplay:=[COLOR="Red"]Activesheet.Name & ":" [/COLOR]& Target.Offset(0, 1).Value
End With
End If
End Sub
A+
kjin
 
Dernière édition:
Re : Sommaire dynamique qui Pointe vers des cellules du classeur

Bonjour,


Code:
Private Sub Worksheet_Activate()
    Range("C6").Select
    Range(ActiveCell, [C65000].End(xlUp)).ClearContents
    For i = 2 To Sheets.Count
        nf = Sheets(i).Name
        Set c = Sheets(i).Cells.Find(What:="valide", LookIn:=xlValues)
        If Not c Is Nothing Then
          premier = c.Address
          Do
            ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'" & _
              nf & "'!" & c.Address, TextToDisplay:=nf & " :" & c.Address
            ActiveCell.Offset(1, 0).Select
            Set c = Sheets(i).Cells.FindNext(c)
          Loop While Not c Is Nothing And c.Address <> premier
        End If
    Next i
End Sub


JB
Formation Excel VBA JB
 

Pièces jointes

Re : Sommaire dynamique qui Pointe vers des cellules du classeur

Merci infiniment à vous!

La solution de BOISGONTIER fonctionne à merveille!

Pour info, le peu que j'ai réussi à faire par moi-même jusque là en VBA, c'est grâce à votre site que je recommande chaudement: Formation Excel VBA JB

Puis-je me permettre d'abuser et de demander quel code serait à faire si à la place de "valide", j'envisageais cette validation par une case à cocher ou un bouton mis en place sur chacune de mes fiches ?

Merci encore mille fois de votre disponibilité
 
Re : Sommaire dynamique qui Pointe vers des cellules du classeur

S'il n'y a qu'une case à cocher (nommée CheckBox1) par feuille:

Code:
Private Sub Worksheet_Activate()
    Range("C6").Select
    Range(ActiveCell, [C65000].End(xlUp)).ClearContents
    For i = 2 To Sheets.Count
      If Sheets(i).CheckBox1 = True Then
        nf = Sheets(i).Name
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'" & _
              nf & "'!A1", TextToDisplay:=nf
        ActiveCell.Offset(1, 0).Select
     End If
    Next i
End Sub

JB
 

Pièces jointes

Re : Sommaire dynamique qui Pointe vers des cellules du classeur

En fait, non, j'ai dû mal m'exprimer: il y aura plusieurs validation par feuilles.

Cela se présente un peu comme un catalogue:

plusieurs univers= une feuille par univers

plusieurs fiches par univers= plusieurs fiches par feuille...plusieurs confirmations

la problématique dans ce cas: comment "placer" le lien dans chaque feuille...

Seconde problématique= attribuer le nom de la cellule voisine au lien, par ex

A25:VALIDE
B25:"Fiche carrelage"
Nom du lien en Sommaire: Fiche Carrelage

Ce qui nous fera par exemple un sommaire du type:

Fiche carrelage
Fiche maçonnerie
Fiche architecte

...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
21
Affichages
2 K
Réponses
1
Affichages
876
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…