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.
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