OVH Cloud OVH Cloud

Afficher une fenêtre à l'ouverture

5 réponses
Avatar
maryola
Bonjour à tous

J'ai un classeur composé de 50 onglets comportant des noms de familles;
Je souhaiterais faire du code qui affichera une fenêtre à l'ouverture du
classeur demandant le nom de famille. On rentre donc le nom. Quand on appuie
sur OK, on serait positionné sur l'onglet correspondant sinon, il affiche un
message "explicite" d'erreur.

Quelqu'un pourrait m'aider à résoudre ce problème ?

Bonne fin de journée

Marie

5 réponses

Avatar
RGI
Bonjour

tu fais un sommaire

dans un module mettre
Sub Sommaire_avec_hyperliens()
Dim aa As Range
' ----- dans une page vierge ou si le titre SOMMAIRE existe
Cells.Find(What:="SOMMAIRE", After:=Range("A1")).Activate
' --- efface autant de cellules que de feuilles sous le texte SOMMAIRE
ActiveCell.Offset(1, 0).Resize(1 + Sheets.Count, 1).ClearContents
i = 0
' ------ écriture des noms de feuilles et création des liens
For n = 1 To Sheets.Count
If Sheets(n).Name <> ActiveSheet.Name Then
i = i + 1
Set aa = Cells(ActiveCell.Row + i, ActiveCell.Column)
aa.Value = Sheets(n).Name
'ActiveSheet.Hyperlinks.Add Anchor:ª, Address:="", _
SubAddress:=Sheets(n).Name & "!A1",
TextToDisplay:=Sheets(n).Name
ActiveSheet.Hyperlinks.Add Anchor:ª, Address:="", _
SubAddress:="'" & Sheets(n).Name & "'!A1",
TextToDisplay:=Sheets(n).Name
End If
Next
End Sub

Salutations

RGI


Bonjour à tous

J'ai un classeur composé de 50 onglets comportant des noms de familles;
Je souhaiterais faire du code qui affichera une fenêtre à l'ouverture du
classeur demandant le nom de famille. On rentre donc le nom. Quand on appuie
sur OK, on serait positionné sur l'onglet correspondant sinon, il affiche un
message "explicite" d'erreur.

Quelqu'un pourrait m'aider à résoudre ce problème ?

Bonne fin de journée

Marie




Avatar
CAP2
Salut,

une fois de plus, est-il vraiment valable de mettre en place un code VBA ?

Une solution toute simple :

Tu fais un clic-droit sur les flèches de déplacement de tes onglets de
feuilles de calcul...

Et là, tu as directement accès à chaque feuille de ton classeur...

Ca suffirait ?

CAP2
Avatar
RGI
suite :

Inscrire SOMMAIRE dans la première feuille

une fois les liens hyperliens créés le code peut être supprimé

salutations

RGI




Bonjour

tu fais un sommaire

dans un module mettre
Sub Sommaire_avec_hyperliens()
Dim aa As Range
' ----- dans une page vierge ou si le titre SOMMAIRE existe
Cells.Find(What:="SOMMAIRE", After:=Range("A1")).Activate
' --- efface autant de cellules que de feuilles sous le texte
SOMMAIRE
ActiveCell.Offset(1, 0).Resize(1 + Sheets.Count, 1).ClearContents
i = 0
' ------ écriture des noms de feuilles et création des liens
For n = 1 To Sheets.Count
If Sheets(n).Name <> ActiveSheet.Name Then
i = i + 1
Set aa = Cells(ActiveCell.Row + i, ActiveCell.Column)
aa.Value = Sheets(n).Name
'ActiveSheet.Hyperlinks.Add Anchor:ª, Address:="", _
SubAddress:=Sheets(n).Name & "!A1",
TextToDisplay:=Sheets(n).Name
ActiveSheet.Hyperlinks.Add Anchor:ª, Address:="", _
SubAddress:="'" & Sheets(n).Name & "'!A1",
TextToDisplay:=Sheets(n).Name
End If
Next
End Sub

Salutations

RGI


Bonjour à tous

J'ai un classeur composé de 50 onglets comportant des noms de familles;
Je souhaiterais faire du code qui affichera une fenêtre à l'ouverture
du classeur demandant le nom de famille. On rentre donc le nom. Quand
on appuie sur OK, on serait positionné sur l'onglet correspondant
sinon, il affiche un message "explicite" d'erreur.

Quelqu'un pourrait m'aider à résoudre ce problème ?

Bonne fin de journée

Marie






Avatar
maryola
Merci beaucoup pour l'info que je ne connaissais pas.
C'est effectivement très pratique mais ce fichier est destiné à des
personnes ne manipulant pas ou peu Excel et Windows.
Alors le clic droit....

Merci encore pour l'astuce, pour moi ça ira très bien !


Salut,

une fois de plus, est-il vraiment valable de mettre en place un code VBA ?

Une solution toute simple :

Tu fais un clic-droit sur les flèches de déplacement de tes onglets de
feuilles de calcul...

Et là, tu as directement accès à chaque feuille de ton classeur...

Ca suffirait ?

CAP2





Avatar
maryola
CA MARCHE TROP TROP BIEN !

MERCI...ZETES TROP FORT


suite :

Inscrire SOMMAIRE dans la première feuille

une fois les liens hyperliens créés le code peut être supprimé

salutations

RGI




Bonjour

tu fais un sommaire

dans un module mettre
Sub Sommaire_avec_hyperliens()
Dim aa As Range
' ----- dans une page vierge ou si le titre SOMMAIRE existe
Cells.Find(What:="SOMMAIRE", After:=Range("A1")).Activate
' --- efface autant de cellules que de feuilles sous le texte
SOMMAIRE
ActiveCell.Offset(1, 0).Resize(1 + Sheets.Count, 1).ClearContents
i = 0
' ------ écriture des noms de feuilles et création des liens
For n = 1 To Sheets.Count
If Sheets(n).Name <> ActiveSheet.Name Then
i = i + 1
Set aa = Cells(ActiveCell.Row + i, ActiveCell.Column)
aa.Value = Sheets(n).Name
'ActiveSheet.Hyperlinks.Add Anchor:ª, Address:="", _
SubAddress:=Sheets(n).Name & "!A1",
TextToDisplay:=Sheets(n).Name
ActiveSheet.Hyperlinks.Add Anchor:ª, Address:="", _
SubAddress:="'" & Sheets(n).Name & "'!A1",
TextToDisplay:=Sheets(n).Name
End If
Next
End Sub

Salutations

RGI


Bonjour à tous

J'ai un classeur composé de 50 onglets comportant des noms de familles;
Je souhaiterais faire du code qui affichera une fenêtre à l'ouverture
du classeur demandant le nom de famille. On rentre donc le nom. Quand
on appuie sur OK, on serait positionné sur l'onglet correspondant
sinon, il affiche un message "explicite" d'erreur.

Quelqu'un pourrait m'aider à résoudre ce problème ?

Bonne fin de journée

Marie