Sommaire dynamique vers des cellules du classeur

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!

Bonjour et bienvenue sur ce forum,

Le mieux serait de voir ton fichier car il faudra adapter le code en question.

Cela permettra de mieux comprendre ton problème.

Amicalement

Dan

Edit: remplace ton code par celui ci-après :

Private Sub Worksheet_Activate()
'Dan pour fm14 - xl pratique le 12/11/08
'http://www.excel-pratique.com/forum/posting.php?mode=editpost&p=47036
Dim nf As String
Dim i As Byte, j As Byte
Range(Range("C6"), Range("C65536").End(xlUp)).ClearContents
For i = 2 To Sheets.Count
nf = Sheets(i).Name
With Sheets(nf)
For j = 1 To .Range("A65536").End(xlUp).Row
If .Range("A" & j) = "Valide" Then
ActiveSheet.Hyperlinks.Add Anchor:=Range("C" & j + 5), Address:="", SubAddress:="'" & _
nf & "'" & "!B" & j, TextToDisplay:=nf & "'" & "!B" & j
ActiveCell.Offset(1, 0).Select
End If
Next j
End With
Next i
End Sub

Code à placer dans la feuille où tu veux mettre tes liens hypertexte.

On suppose que le mot VALIDE est situé en colonne A et la valeur en colonne B.

Amicalement

Dan

Nad-Dan a écrit :

Bonjour et bienvenue sur ce forum,

Le mieux serait de voir ton fichier car il faudra adapter le code en question.

Cela permettra de mieux comprendre ton problème.

Amicalement

Dan

Edit: remplace ton code par celui ci-après :

Private Sub Worksheet_Activate()
'Dan pour fm14 - xl pratique le 12/11/08
'http://www.excel-pratique.com/forum/posting.php?mode=editpost&p=47036
Dim nf As String
Dim i As Byte, j As Byte
Range(Range("C6"), Range("C65536").End(xlUp)).ClearContents
For i = 2 To Sheets.Count
nf = Sheets(i).Name
With Sheets(nf)
For j = 1 To .Range("A65536").End(xlUp).Row
If .Range("A" & j) = "Valide" Then
ActiveSheet.Hyperlinks.Add Anchor:=Range("C" & j + 5), Address:="", SubAddress:="'" & _
nf & "'" & "!B" & j, TextToDisplay:=nf & "'" & "!B" & j
ActiveCell.Offset(1, 0).Select
End If
Next j
End With
Next i
End Sub

Code à placer dans la feuille où tu veux mettre tes liens hypertexte.

On suppose que le mot VALIDE est situé en colonne A et la valeur en colonne B.

Amicalement

Dan

Impeccable, tu as résolu le pb merci!

Rechercher des sujets similaires à "sommaire dynamique classeur"