IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Macro pour créer un lien hypertexte entre une nouvelle feuille créée et un sommaire


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2013
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 42
    Points : 12
    Points
    12
    Par défaut
    Bonsoir,

    Je souhaite créer une macro qui créé un lien sur une page sommaire et une nouvelle page crée.

    Ci-joint en pièce jointe mon fichier.

    Il y a 2 feuilles de calcul:

    -1- Sommaire: feuille sur laquelle doivent être crée les hyperlinks (et une macro qui copie la feuille "blankotermin" sur une autre feuille

    -2- Blankotermin: feuille aui me permet de rentrer des dates et d exporter les rendez vous vers mon outlook

    Bref, cette macro doit pouvoir copier le nom de la nouvelle feuille crée vers sommaire et d en faire un hyperlink.

    J ai teste pas mal de trucs et je suis bloqué...

    fichier joint, sorry
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub AjoutdeFeuilleX()
    Dim DerLigne As Long
    Dim Nom As String
     
    With Worksheets("Sommaire")
        DerLigne = .Cells(.Rows.Count, 1).End(xlUp).Row
        Nom = Worksheets("Blankotermin").Range("B2").Text & DerLigne
        Worksheets.Add(After:=Sheets(Sheets.Count)).Name = Nom
        .Hyperlinks.Add Anchor:=.Range("A" & DerLigne + 1), Address:="", _
            SubAddress:="'" & Nom & "'!A1", TextToDisplay:=Nom
    End With
    End Sub
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2013
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 42
    Points : 12
    Points
    12
    Par défaut
    Merci infiniment!

    C est exactement ca, mais j aimerais que le nom de la feuille et l´intitulé de l´hyperlink soit le contenu d´une cellule ou encore mieux demandé par inputbox.

    Le but est de créer une feuille par nouvel employé embauché et que cette feuille soit accessible par hyperlink de la feuille sommaire.

    Bonne journée!

  4. #4
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub AjoutdeFeuilleX()
    Dim DerLigne As Long
    Dim Nom As String
     
    Nom = InputBox("Veuillez saisir le nom de l'employé")
    If Nom <> "" Then
        If Not Existe(Nom) Then
            With Worksheets("Sommaire")
                DerLigne = .Cells(.Rows.Count, 1).End(xlUp).Row
                Worksheets.Add(After:=Sheets(Sheets.Count)).Name = Nom
                .Hyperlinks.Add Anchor:=.Range("A" & DerLigne + 1), Address:="", _
                                SubAddress:="'" & Nom & "'!A1", TextToDisplay:=Nom
            End With
        End If
    End If
    End Sub
     
    Private Function Existe(ByVal Str As String) As Boolean
     
    On Error Resume Next
    Existe = ThisWorkbook.Sheets(Str).Index > 0
    On Error GoTo 0
    End Function
    On teste d'abord que la feuille n'existe pas. Attention aux caractères non permis dans les noms des feuilles tel ?/.....
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2013
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 42
    Points : 12
    Points
    12
    Par défaut
    C´est top!!!!

    J ai juste un soucis, j´ai une macro "duplic" qui copie le contenu de la feuille "blankotermin" vers une nouvelle feuille crée.

    Le problème est que je n arrive pas a cumuler les deux macros. Le but étant de copier le contenu de "blancotermin" dans la nouvelle feuille crée.

  6. #6
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Au lieu de créer une nouvelle feuille et la renommer et ensuite y copier les données de la feuille blankotermin.
    Créé une copie de la feuille blankotermin et renomme là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Sub AjoutdeFeuilleX()
    Dim DerLigne As Long
    Dim Nom As String
     
    Nom = InputBox("Veuillez saisir le nom de l'employé")
    If Nom <> "" Then
        If Not Existe(Nom) Then
            With Worksheets("Sommaire")
                DerLigne = .Cells(.Rows.Count, 1).End(xlUp).Row
                Worksheets("blankotermin").Copy After:=Sheets(Sheets.Count)
                ActiveSheet.Name = Nom
                .Hyperlinks.Add Anchor:=.Range("A" & DerLigne + 1), Address:="", _
                                SubAddress:="'" & Nom & "'!A1", TextToDisplay:=Nom
            End With
        End If
    End If
    End Sub
     
    Private Function Existe(ByVal Str As String) As Boolean
     
    On Error Resume Next
    Existe = ThisWorkbook.Sheets(Str).Index > 0
    On Error GoTo 0
    End Function
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  7. #7
    Membre à l'essai
    Inscrit en
    Janvier 2013
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 42
    Points : 12
    Points
    12
    Par défaut
    C est exactement pil poil ce qui me fallait !!! Merci infiniment !!!

    J´ai pas envie d´abuser mais j´ai deux autres questions. Ca ne correspond pas au sujet décrit au début, donc s´il faut que je me déplace je le fais.

    Je cherche une macro qui me permetterai d ouvrir un fichier pdf toujours du même nom mais toujours dans le même dossier. Je m explique: je cree des dossiers portant le nom de mes employes. Chacun son dossier. Dans chaque dossier il existe un fichier "contrat" un fichier "Secu" un fichier "idendite". C est comme ca que son nomme tous les fichiers dans chaque dossier. La macro devrait donc etre capable de retrouver le fichier "contrat" par exemple dans le dossier que l utilisateur doit lui indiquer "manuellement" et de creer un hyperlink vers ce fichier.

    Je cherche egalement une macro qui cree un document word et qui l enregistre au prealable a l endroit souhaite par l utilisateur au nom qu il souhaite. Par exemple, un entretien a eu lieu avec un employé, le compte rendu doit etre retranscrit dans un fichier word. L utilisateur se sert de la macro pour specifier l endroit ou doit etre sauvegarde le fichier et comment il doit s appeller. Est ce qu il existe egalement une possibilite de creer une liste deroulante de tous les fichiers word contenu dans un dossier?

    Si vous jugez que c est abusé mes questions, je comprendrai. Et te toute facon milles mercis pour les reponses precedentes.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Utiliser la macro pour créer un lien vers une fiche créée
    Par beowulf97 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/01/2012, 09h00
  2. [XL-2003] lien hypertexte dans une nouvelle feuille
    Par viventus dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/08/2009, 17h32
  3. Créer un lien hypertexte sur une image chargé en xml
    Par sharkulterie dans le forum Flash
    Réponses: 0
    Dernier message: 05/08/2008, 11h21
  4. créer un lien hypertexte sous une image de fond
    Par Ouija33 dans le forum Dreamweaver
    Réponses: 3
    Dernier message: 24/10/2007, 16h34
  5. Comment créer un lien hypertexte avec une liaison OLE Excel ?
    Par vieuxsinge dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 08/12/2005, 17h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo