Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

SOMMAIRE DES CLASSEURS DANS UN DOSSIER

1 réponse
Avatar
JEANJEAN9621
Bonjour à tous,

- Pour un usage professionnel, j'ai créé un classeur Xls destiné à recevoir
les éléments des affaires que je traite.
- Ce classeur est "agrémenté" de Labels. Ces labels sont liés aux cellules
qu'ils masquent.
- La saisie des informations est effectuées via une Userform, ouverte par un
bouton placé sur la première feuille du classeur.
- La saisie effectuée et validée, les labels affichent les données saisies,
et les cellules placées derrière les labels sont alimentées par les labels.
- Par un retour des données des cellules vers l'Userform lors de l'ouverture
de celle-ci, je peux ainsi modifier et valider à nouveau la saisie.

- Jusqu'ici tout marche bien ! (même si c'est un peu alambiqué)

- Je vais donc multiplier le nombre de classeurs par autant d'affaires
traitées.

Mais là ou je suis em......... comme une poule qui a trouvé un couteau,
c'est lorsque j'essai de créer un sommaire du dossier contenant les
classeurs, et précisant leurs références.
De plus, je souhaiterais pouvoir ouvrir les classeurs par un DbleClik sur
les références du sommaire.

Même si je tâte un peu les bases d'Xls, je suis un bleu total dans Vba, et
c'est mon premier projet, mais je me sens mordu. J'aurai besoin d'un tuteur


Quelqu'un aurait-il le temps et l'amabilité de me driver un chouïa ??

Merci d'avance.

1 réponse

Avatar
JB
Bonsoir,

Exemple de création d'un classeur sommaire (hyperliens):

http://cjoint.com/?dbsGsbGo2z

Sub sommaire()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Range("b3:D10000").ClearContents
classeur_principal = ActiveWorkbook.Name ' classeur de départ
ChDir ActiveWorkbook.Path
Range("b4").Select
'nf = Dir("Recettes*.xls") ' premier classeur
nf = Dir(Range("E2"))

Do While nf <> ""
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=nf,
SubAddress:= _
"", TextToDisplay:=Left(nf, Len(nf) - 4)
ActiveCell.Font.Bold = True
On Error Resume Next
Err = 0
Workbooks.Open Filename:=nf
If Err = 0 Then
Windows(classeur_principal).Activate
'-- boucle des onglets
ActiveCell.Offset(0, 1).Select ' à droite
For Each s In Workbooks(nf).Sheets ' boucle des
onglets

ActiveSheet.Hyperlinks.Add Anchor:=Selection,
Address:=nf, SubAddress:= _
"'" & s.Name & "'!a1", TextToDisplay:="'" & s.Name
'ActiveCell.Offset(0, 1) =
Workbooks(nf).Sheets(s.Name).Range("c1")
ActiveCell.Offset(1, 0).Select ' en desssous
Next s
ActiveCell.Offset(0, -1).Select ' à gauche
'----
Workbooks(nf).Close
End If
nf = Dir ' classeur suivant
If nf = ActiveWorkbook.Name Then
nf = Dir
End If
ActiveCell.Offset(1, 0).Select
Loop
Range("a1").Select
End Sub

JB


On 1 mar, 18:24, "JEANJEAN9621"
wrote:
Bonjour à tous,

- Pour un usage professionnel, j'ai créé un classeur Xls destiné à recevoir
les éléments des affaires que je traite.
- Ce classeur est "agrémenté" de Labels. Ces labels sont liés aux c ellules
qu'ils masquent.
- La saisie des informations est effectuées via une Userform, ouverte p ar un
bouton placé sur la première feuille du classeur.
- La saisie effectuée et validée, les labels affichent les données saisies,
et les cellules placées derrière les labels sont alimentées par les labels.
- Par un retour des données des cellules vers l'Userform lors de l'ouve rture
de celle-ci, je peux ainsi modifier et valider à nouveau la saisie.

- Jusqu'ici tout marche bien ! (même si c'est un peu alambiqué)

- Je vais donc multiplier le nombre de classeurs par autant d'affaires
traitées.

Mais là ou je suis em......... comme une poule qui a trouvé un coutea u,
c'est lorsque j'essai de créer un sommaire du dossier contenant les
classeurs, et précisant leurs références.
De plus, je souhaiterais pouvoir ouvrir les classeurs par un DbleClik sur
les références du sommaire.

Même si je tâte un peu les bases d'Xls, je suis un bleu total dans Vb a, et
c'est mon premier projet, mais je me sens mordu. J'aurai besoin d'un tute ur

Quelqu'un aurait-il le temps et l'amabilité de me driver un chouïa ??

Merci d'avance.