FORUM Aideonline
  Aide Logiciels - Aide Générale

  [RE]Excel : Macro : Lien vers la deuxième feuille quelque soit son nom

 

11 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RE]Excel : Macro : Lien vers la deuxième feuille quelque soit son nom

n°4537
gryzor
Posté le 13-06-2011 à 15:06:34  profilanswer
 

[RESOLU]
 
Salut tout le forum.
 
Je débute en programmation de macro.
 
J'aimerais créer un lien sur la première page (mon index) vers la deuxième feuille du classeur quelque soit son nom.
 
Voilà ce que j'ai fait :

Sheets("index" ).Select
                 
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        Sheets(2).Name, TextToDisplay:=Sheets(2).Name

 
 
Le lien se crée avec le bon nom mais quand je clic dessus une fenêtre apparait référence non valide
 
Pouvez-vous m'aider ?


Message édité par gryzor le 13-06-2011 à 23:11:37
n°4545
chacha
Vieux geek blasé
Profil : Expert
Posté le 13-06-2011 à 22:44:12  profilanswer
 

Normal il ne sait pas dans quelle cellule de la nouvelle feuille aller  [:laripette:7]


---------------
 Ben .... il est ou le bon vieux temps ou il fallait forcer pour clocker??  
 Rien n'est vrai mais tout est bien expliqué
n°4546
gryzor
Posté le 13-06-2011 à 23:10:45  profilanswer
 

chacha a écrit :

Normal il ne sait pas dans quelle cellule de la nouvelle feuille aller  [:laripette:7]


 
 
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        Sheets(2).Name & "!A1", TextToDisplay:=Sheets(2).Name

n°4547
jipeff
Primum no nocere
Profil : Modérateur
Posté le 13-06-2011 à 23:18:57  profilanswer
 

:hello:  
 
Ouais, si tu fais fais un lien Hypertexte, que ce soit par macro ou autre,
 
 s'il n'y a pas de référence de cellule, ou veut-ti que ça aboutisse ?
 
J'ai pas tout compris ?  :??:

n°4548
gryzor
Posté le 13-06-2011 à 23:43:58  profilanswer
 

jipeff a écrit :

:hello:  
 
Ouais, si tu fais fais un lien Hypertexte, que ce soit par macro ou autre,
 
 s'il n'y a pas de référence de cellule, ou veut-ti que ça aboutisse ?
 
J'ai pas tout compris ?  :??:


 
Je savais que le problème venait de là. Mais je n'avais aucune idée de comment cela se saisissais.
 
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        Sheets(2).Name & "!A1", TextToDisplay:=Sheets(2).Name
 
source :forum.hardware.fr

n°4549
chacha
Vieux geek blasé
Profil : Expert
Posté le 13-06-2011 à 23:52:41  profilanswer
 

Mon expérience  de vie active  dit qu'un lien interne sert  a acceder a des zones  precises >> graphiques,  données récapitulatives , ou pour chapitrer un compte rendu , une analyse longue , ou  mettre a jour des données  sur une autre feuille en permanence .
 IL faut aussi tenir compte du fait que de  nombreuses fonctions n'ont plus trop  besoin de macro vu l'usine a gaz que sont devenues les suites  depuis 2007, 2010  :p    
Ce qui serait bien c'est nous dire le fond de ta pensée car  faire un lien pour acceder a une feuille alors qu'il y a des onglets  je ne comprends pas ni ne vois pourquoi et si tu programmes ça pour le fun , ou pour une application particuliere
 
 


---------------
 Ben .... il est ou le bon vieux temps ou il fallait forcer pour clocker??  
 Rien n'est vrai mais tout est bien expliqué
n°4550
gryzor
Posté le 14-06-2011 à 00:27:44  profilanswer
 

chacha a écrit :

Mon expérience  de vie active  dit qu'un lien interne sert  a accéder a des zones  précises >> graphiques,  données récapitulatives , ou pour chapitrer un compte rendu , une analyse longue , ou  mettre a jour des données  sur une autre feuille en permanence .
 IL faut aussi tenir compte du fait que de  nombreuses fonctions n'ont plus trop  besoin de macro vu l'usine a gaz que sont devenues les suites  depuis 2007, 2010  :p    
Ce qui serait bien c'est nous dire le fond de ta pensée car  faire un lien pour accéder a une feuille alors qu'il y a des onglets  je ne comprends pas ni ne vois pourquoi et si tu programmes ça pour le fun , ou pour une application particulière
 
 


 
 
Je suis professeur de maintenance des équipements Industriels
 
J'ai créé un classeur Excel avec les documents types que l'on utilise en GMAO (gestion de maintenance assistée par ordinateur), compte rendus d'intervention, historiques d'intervention...
 
Le but c'est que les élèves l'ouvrent, cliquent sur le système sur lequel ils sont intervenus, complètent le compte rendus d'intervention et l'archivent dans un autre classeur.
 
J'ai donc créé une macro qui permet de copier le compte rendus d'intervention en deuxième position dans le classeur archivage en le nomment du nom de l'élève, de la date et de l'heure de saisit. Tout en créant un lien dans mon index se trouvant en position 1.
Un lien se crée également sur les compte rendus pour retourner vers l'index après consultation.
Je supprime des colonnes car c'est là que j'ai mis les bouton permettant aux élèves d'archiver, de vider le compte-rendu et d'enregistrer  
 
Voilà la macro complète soit indulgent c'est ma première :
 
Sub Archiver_dans_un_autre_classeur_compte_rendu_correctif()
 
Dim nomE As String
Dim dj As String
Dim heure As String
Dim minute As String
Dim seconde As String
 
With Sheets("Compresseur compte rendu correc" )
 
nomE = .[B4]
dj = Format(.[o4], "dd.m.yy" )
heure = Format(.[o4], "hh" )
minute = .[AA2]
seconde = Format(.[o4], "ss" )
 
End With
ChDir "C:\Documents and Settings\ gryzor \Bureau"
    Workbooks.Open Filename:= _
        "C:\Documents and Settings\gryzor\Bureau\Nouveau dossier (2)\Compresseur-Comptes rendus d'interventions correctives.xlsm"
         
        ActiveWorkbook.Unprotect Password:="1234"
         
        Windows("GMAO.xlsm" ).Activate
Sheets("Compresseur compte rendu correc" ).Copy Before:=Workbooks( _
        "Compresseur-Comptes rendus d'interventions correctives.xlsm" ).Sheets(2)
 
ActiveSheet.Unprotect "1234"
 
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
 
 
Sheets(2).Name = nomE & "_" & dj & "_" & heure & "H" & minute & "min" & seconde
 
Columns("w:y" ).Select
Selection.Delete Shift:=xlToLeft
 
Range("W2" ).Select
 
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", _
SubAddress:=Sheets(1).Name & "!A1", TextToDisplay:=Sheets(1).Name

 
With Selection.Font
        .Name = "Calibri"
        .Size = 16
            End With
   ' Rows("3:3" ).RowHeight = 27.75
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
     
    End With
 
Range("B2:T47" ).Select
Selection.Locked = True
Range("B2" ).Select
 
ActiveSheet.Protect Password:="1234", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlNoRestrictions
 
Sheets("index" ).Select
'Range("B2" ).Select
ActiveCell.Offset(1, 0).Select
 
ActiveSheet.Unprotect "1234"
 
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", _
SubAddress:=Sheets(2).Name & "!A1", TextToDisplay:=Sheets(2).Name

 
 With Selection.Font
        .Name = "Calibri"
        .Size = 16
            End With
    Rows("3:3" ).RowHeight = 27.75
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
     
    End With
 
ActiveSheet.Protect Password:="1234", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlNoRestrictions
 
ActiveWorkbook.Protect Password:="1234", Structure:=True, Windows:=False
 
'ActiveWorkbook.Save
 
'ActiveWindow.Close
 
'Windows("GMAO.xlsm" ).Activate
 
'Sheets("Compresseur compte rendu correc" ).Select
 
'Range("B2:T2" ).Select
 
End Sub

n°4551
chacha
Vieux geek blasé
Profil : Expert
Posté le 14-06-2011 à 00:36:30  profilanswer
 

Ayant fait partie de ta noble corporation il y a des lustres  (et on n'avait pas excel  :cry:  :cry:)Je suis " indulgent" car en plus  tu  m'explique le cheminement de ta pensée d'auteur de l'application . Certains ne le font pas " top secret :p  :o  "
 C'est cool je fais tourner  plus tard pour voir si ça marche  :sleep:  :sleep: ..   Et comme tu as pu le constater sur  d'autres forums les moyens de faire une  action sont nombreux .  Et déformation professionnelle, je donne plutot des idées pour trouver que du code tout fait
 :hello:  :hello:
 
 Edit c'est bien excel mais la tu t'en sert plutot comme SGDB  ;)

Message cité 1 fois
Message édité par chacha le 14-06-2011 à 00:38:45

---------------
 Ben .... il est ou le bon vieux temps ou il fallait forcer pour clocker??  
 Rien n'est vrai mais tout est bien expliqué
n°4552
gryzor
Posté le 14-06-2011 à 01:34:31  profilanswer
 

chacha a écrit :

Ayant fait partie de ta noble corporation il y a des lustres  (et on n'avait pas excel  :cry:  :cry:)Je suis " indulgent" car en plus  tu  m'explique le cheminement de ta pensée d'auteur de l'application . Certains ne le font pas " top secret :p  :o  "
 C'est cool je fais tourner  plus tard pour voir si ça marche  :sleep:  :sleep: ..   Et comme tu as pu le constater sur  d'autres forums les moyens de faire une  action sont nombreux .  Et déformation professionnelle, je donne plutot des idées pour trouver que du code tout fait
 :hello:  :hello:
 
 Edit c'est bien excel mais la tu t'en sert plutot comme SGDB  ;)


 
Je ne connais pas SGDB.
 
Mon fichier GMAO
 
Mon fichier Archive Compresseur-Comptes rendus d'interventions correctives

n°4553
chacha
Vieux geek blasé
Profil : Expert
Posté le 14-06-2011 à 02:17:07  profilanswer
 

Hé, t'as saturé  mon  Neetbook avec tes fichiers  qui se sont ouverts   + de 50 en meme temps :love: ..... Pourquoi ces tonnes de feuilles  :ouch:    
  Sois c'est un bug sois tu bosses  comme ça  !! sinon se sera bien ce j'imagine    TROP lourd a gerer ton truc  car tu créé une multitude de feuilles  archive .
 SGDB   >> Systeme de gestion de base de données (  >> Ms acces par exemple )
 


---------------
 Ben .... il est ou le bon vieux temps ou il fallait forcer pour clocker??  
 Rien n'est vrai mais tout est bien expliqué
n°4554
gryzor
Posté le 14-06-2011 à 11:39:37  profilanswer
 

chacha a écrit :

Hé, t'as saturé  mon  Neetbook avec tes fichiers  qui se sont ouverts   + de 50 en meme temps :love: ..... Pourquoi ces tonnes de feuilles  :ouch:    
  Sois c'est un bug sois tu bosses  comme ça  !! sinon se sera bien ce j'imagine    TROP lourd a gerer ton truc  car tu créé une multitude de feuilles  archive .
 SGDB   >> Systeme de gestion de base de données (  >> Ms acces par exemple )
 


 
 
Tu as 2 feuilles dans GMAO (le compte-rendu et plage de cellule pour les menus déroulants)
Tu as 2 feuilles dans Archive Compresseur-Comptes rendus d'interventions correctives  ( L'index et une feuille vide)
 
Il n'y aura que 12 feuilles  archives par classeur. Car 12 élèves par groupe. Et à chaque rentrée en septembre je supprime tous les fichiers et en remet des tout nouveau.

n°4555
chacha
Vieux geek blasé
Profil : Expert
Posté le 14-06-2011 à 11:44:19  profilanswer
 

Ok ... mais je ne sais pas pourquoi j'ai cijEYPU7Re .xlsm 56 fois   :pt1cable:  
  dans ce cas  c'est cool et simple . :sol:


---------------
 Ben .... il est ou le bon vieux temps ou il fallait forcer pour clocker??  
 Rien n'est vrai mais tout est bien expliqué
n°4556
gryzor
Posté le 14-06-2011 à 12:10:32  profilanswer
 

chacha a écrit :

Ok ... mais je ne sais pas pourquoi j'ai cijEYPU7Re .xlsm 56 fois   :pt1cable:  
  dans ce cas  c'est cool et simple . :sol:


 
56 c'est pas normale :??: bizarre
 
Pour info si d'autres veulent tester
 
Il faut enregistré les fichiers sur le bureau et les renommer.
 
Le premier en GMAO.xlsm
Le deuxième en Archive Compresseur-Comptes rendus d'interventions correctives.xlsm
 
Ensuite Il faut ouvrir GMAO.xlsm et modifier la macro Archiver_dans_un_autre_classeur_compte_rendu_correctif()
 
Mettre votre nom à la place de gryzor
 
ChDir "C:\Documents and Settings\gryzor\Bureau"
    Workbooks.Open Filename:= _
        "C:\Documents and Settings\gryzor\Bureau\Archive Compresseur-Comptes rendus d'interventions correctives.xlsm"
 
 
Ensuite compléter le compte-rendu (les cellules grisées) ou pas et cliquer sur 2 : Archiver le compte rendu, puis sur 3 : Effacer le compte rendu puis sur 4 : Enregistrer et quitter.
 
Ouvrir le fichier Archive Compresseur-Comptes rendus d'interventions correctives.xlsm , on voit l'index avec un lien vers le comte rendu archivé qui est nommé du nom de l'intervenant, la date et l'heure de saisit.
 
 
Merci pour votre aide.

n°4557
chacha
Vieux geek blasé
Profil : Expert
Posté le 14-06-2011 à 13:26:50  profilanswer
 

 déja testé cette nuit  ;)  
 Sinon si tu veux passer a MS Acces  fais moi signe  :hello:


---------------
 Ben .... il est ou le bon vieux temps ou il fallait forcer pour clocker??  
 Rien n'est vrai mais tout est bien expliqué
mood
Google
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM Aideonline
  Aide Logiciels - Aide Générale

  [RE]Excel : Macro : Lien vers la deuxième feuille quelque soit son nom

 

Copyright © 2009 - Groupe LDLC.com - Vente Matériel Informatique