generer un lien auto vers un onglet

KEUDJ

XLDnaute Junior
Bonjour,

apres de longue recherche, je n'arrive pas a trouver solution a mes problemes, je debute sur les macro.

sur un classeur de suivit de project, selection de cellules sur la premiere feuille sommaire, je genere des onglets, ces onglets sont une copie d'un onglet modele, et portent le nom des cellules source.

Code:
Dim cell As Range, Nom$, Sht As Worksheet

  For Each cell In Selection
    Nom = cell.Value
    If Nom <> "" Then
      On Error Resume Next
      Set Sht = Sheets(Nom)
      On Error GoTo 0
      If Sht Is Nothing Then Sheets("model").Copy After:=Sheets(Sheets.Count)
      ActiveSheet.Name = Nom
End If
  Next cell

1) je souhaite generer un lien de la cellule source vers l'onglet automatiquement.

2) lier des cellules de l'onglet genere vers la feuille sommaire, et bien sur:), dans des cellules de la ligne de la cellule source .. :eek: ouff

c'est pas simple de ce faire comprendre

merci d'avance

KEUDJ
 

skoobi

XLDnaute Barbatruc
Re : generer un lien auto vers un onglet

Bonjour,

voici la modification pour la création de la feuille:

Code:
Dim cell As Range, Nom$, Sht As Worksheet

   For Each cell In Selection
    Nom = cell.Value
    If Nom <> "" Then
      On Error Resume Next
      Sht = Sheets(Nom).Name
      On Error GoTo 0
[B][COLOR="red"]      If Sht = "" Then
         Sheets("model").Copy After:=Sheets(Sheets.Count)
         ActiveSheet.Name = Nom
      End If[/COLOR][/B]
End If
Next cell
  Next cell

J'ai plus le temps pour le reste désolé :(
 

KEUDJ

XLDnaute Junior
Re : generer un lien auto vers un onglet

Hello Snooby,

ta modif a le merite d'etre super simle, moi qui cherchais a compliqer les choses.

cependant ca me dit sur If Sht = "" Then que la variable n'existe pas.

la macro est lancee a partir d'un bouton.

je join le fichier au cas ou .. (rigolez pas je debute ..)

@+
 

Pièces jointes

  • PROJECT-INDUSTRIAL FOLLOW-UP new2.zip
    22.7 KB · Affichages: 54

skoobi

XLDnaute Barbatruc
Re : generer un lien auto vers un onglet

Re,

Voici qui devrait te satisfaire.
Le lien hypertexte est également créé lors de la création de la feuille.

Code:
Private Sub CmdCreerFeuilles_Click()
Sheets("Model").Visible = xlSheetVisible
Dim cell As Range, Nom$, Sht As String
Nom = ActiveCell.Value
If Nom <> "" Then
  On Error Resume Next
  Sht = Sheets(Nom).Name
  On Error GoTo 0
  If Sht = "" Then
     Sheets("model").Copy After:=Sheets(Sheets.Count)
     ActiveSheet.Name = Nom
     Sheets("PARTS SUMMARY").Activate
     ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        "'" & Nom & "'!A1"
  End If
End If
Sheets(Nom).Activate
Sheets("Model").Visible = xlSheetVeryHidden
End Sub

(rigolez pas je debute ..)

Tu sais, beaucoup d'entre nous sommes passé par là....
 

KEUDJ

XLDnaute Junior
Re : generer un lien auto vers un onglet

Super Scooby,

merci pour ton Aide, ok je comprend le code, j`avais essaye
Code:
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        "'" & Nom & "'!A1"
mais sans le "!A1" et l`activation de la feuille juste avant.

par contre je ne comprend pas
Code:
If Sht = "" Then
pourquoi ca ne marchait pas avant et pourquoi ca marche maintenant?

je me penche sur le point 2, je vais essayer d`inverser, cad de mettre les champs dans la page sommaire et de l`injecter dans la feuille copier.

est ce que pour vous d`un sens comme dans l`autre c`est la meme chose?

@ suivre

re,

apres avoir tester 2 petits problemes.
- si plusieurs cellules selectionnee que la premiere genere un onglet, mais toutes sont liees a celui-ci.
- si rien dans la cellule ca plante.

je cherche ... mais j`ai du mal ...

@+
 
Dernière édition:

skoobi

XLDnaute Barbatruc
Re : generer un lien auto vers un onglet

Re bonjour,

par contre je ne comprend pas
Code:
If Sht = "" Thenpourquoi ca ne marchait pas avant et pourquoi ca marche maintenant?

J'ai déclaré la variable "Sht" (nom de la feuille) en tant que texte "Sht As String", ce qui veut dire que par défaut, Sht est vide, (Sht = "").
apres avoir tester 2 petits problemes.
- si plusieurs cellules selectionnee que la premiere genere un onglet, mais toutes sont liees a celui-ci.
- si rien dans la cellule ca plante.
Tu as apparement ajoutés une boucle à mon dernier code. Renvoie nous ce code STP.
 

KEUDJ

XLDnaute Junior
Re : generer un lien auto vers un onglet

Salut Skooby,

non je n'ai pas trouve mieux que ton code,

j'essaie de bloquer, la selection sur la colonne (reference)
le mieux serait de selectionner automatiquement la derniere cellule de cette colonne, lors du lancement de la macro..

j'ai egalement du mal a lier une cellule du sommaire vers la feuille copiee, mais bon step by step .. je verrais ca plus tard..

j'ai ete un peu optimiste sur la progammation des macros, en regardant certains exemple je me suis dit (ayant qqs notions de basic) fastoche .. mais non dur dur ..

@+ je reposte le fichier
 

skoobi

XLDnaute Barbatruc
Re : generer un lien auto vers un onglet

Re bonjour,

Voici une nouvelle version.
Toute la liste est passée en revue et la feuille est créée si une référence n'existe pas puis ajoute le lien hypertexte.

Code:
Private Sub CmdCreerFeuilles_Click()
Sheets("Model").Visible = xlSheetVisible
Dim cell As Range, Nom As Range, Sht As String
For Each Nom In Range([E5], [E65536].End(xlUp))
    If Nom.Value <> "" Then
      On Error Resume Next
      Sht = Sheets(Nom.Value).Name
      If Err.Number <> 0 Then Sht = ""
      On Error GoTo 0
      If Sht = "" Then
         Sheets("model").Copy After:=Sheets(Sheets.Count)
         ActiveSheet.Name = Nom.Value
         Sheets("PARTS SUMMARY").Activate
         Nom.Select
         ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
            "'" & Nom.Value & "'!A1"
      End If
    End If
Next
Sheets("Model").Visible = xlSheetVeryHidden
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 026
Membres
104 008
dernier inscrit
jojo1966