Microsoft 365 créer un lien vers un onglet créé

  • Initiateur de la discussion Initiateur de la discussion cecenico
  • 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 !

cecenico

XLDnaute Nouveau
Bonjour,

Je viens de bidouiller une macro qui créée un onglet et le nomme en fonction du contenu d'une cellule. L'idée maintenant est de créer un lien vers cet onglet, hors quand je pointe Worksheet(1), il ne me trouve pas l'onglet. De plus, je ne pense pas que ça soit la bonne méthode car tous les onglets créés de cette façon risquent de pointer vers le dernier onglet créé car Worksheet(1)

Pour expliquer sont fonctionnement:
Je met un nom de machine dans la cellule B11:M11 (fusionnée)
Je copie la cellule dans la cellule A73
Je récupère un modèle de feuille existant pour créer la nouvelle feuille que je place en première position
Je nomme la feuille nouvellement créée en fonction du contenu de la cellule A73 de l’accueil
Je crée mon lien (du moins j'essaye)
Je trie mes machines par ordre alphabétique entre A12 et A73

L'idée est de pouvoir ajouter des onglets qui correspondront à des machines, le dernier onglet créé sera toujours le 1 pour simplifier les choses, vue que je masque les onglets qui sont accessibles via les liens créés, c'est pas trop grave si c'est pas rangé dans l'ordre.





VB:
Sub creermachine()

'

' creermachine Macro

'


'Ajout de la machine
  Range("B11:M11").Select
    Selection.Copy
    Range("A73").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

'création de la feuille à partir d'un modèle existant
    Sheets(" Machine à emballer Fabbri").Select

    Sheets(" Machine à emballer Fabbri").Copy Before:=Sheets(1)

'récupération du nom de l'onglet    
Sheets("Accueil").Select

    Worksheets(1).Name = Range("A73").Value



'création du lien   (c'est la que je coince)
   Range("A73").Select
 ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _

        "Worksheets(1)"

    With Selection.Font

        .ThemeColor = xlThemeColorAccent2

        .TintAndShade = -0.249977111117893

    End With

'On met tout dans l'ordre
ActiveWorkbook.Worksheets("Accueil").Sort.SortFields.Add2 Key:=Range( _
        "A13:A73"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Accueil").Sort
        .SetRange Range("A12:M73")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply

  'Je remet le petit texte qui va bien dans la case qui me sert de référence pour l'ajout du nom de la machine
ActiveCell.FormulaR1C1 = ""
    Range("B11:M11").Select
    ActiveCell.FormulaR1C1 = _
        "Entrer ici le nom de la machine à ajouter et cliquer sur ""ajouter une machine"""
    Range("B1:M2").Select
        Application.CutCopyMode = False
        Range("A12").Select
    ActiveCell.FormulaR1C1 = "Matériel"
    Range("A1").Select

End Sub
 
Solution
Bonsoir,
L'enregistreur de macro t'aurait donné à peu près çà.
VB:
    Sheets("Feuil1").Select
    Sheets("Feuil1").Copy Before:=Sheets(1)
    Range("A73").Select
    Selection.Copy
    Sheets("Feuil1 (2)").Select
    Sheets("Feuil1 (2)").Name = Range("A73").Value
    Range("A73").Select
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        Range("A73").Value & "!A1", TextToDisplay:=Range("A73").Value
    Range("D83").Select
Bonsoir,
L'enregistreur de macro t'aurait donné à peu près çà.
VB:
    Sheets("Feuil1").Select
    Sheets("Feuil1").Copy Before:=Sheets(1)
    Range("A73").Select
    Selection.Copy
    Sheets("Feuil1 (2)").Select
    Sheets("Feuil1 (2)").Name = Range("A73").Value
    Range("A73").Select
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        Range("A73").Value & "!A1", TextToDisplay:=Range("A73").Value
    Range("D83").Select
 
Bonsoir,
L'enregistreur de macro t'aurait donné à peu près çà.
VB:
    Sheets("Feuil1").Select
    Sheets("Feuil1").Copy Before:=Sheets(1)
    Range("A73").Select
    Selection.Copy
    Sheets("Feuil1 (2)").Select
    Sheets("Feuil1 (2)").Name = Range("A73").Value
    Range("A73").Select
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        Range("A73").Value & "!A1", TextToDisplay:=Range("A73").Value
    Range("D83").Select
En fait ta solution fonctionne, merci
 
- 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

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
283
Réponses
1
Affichages
221
Réponses
1
Affichages
180
Retour