Lien hypertexte dans VBA

Résolu
f1solution Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous!

Voilà, je suis assez nul en programmation VBA. J'aimerais vous demander un service. J'utilise VBA 7.1

Je voulais créer une formulaire avec VBA pour Excel, pour mettre en place une base de données des candidats à une offre d'emploi. Dans les colonnes il y a le Référence, Nom, Prénom, Adresse, Age, Sexe, Diplôme, jusque là il n'y a pas de problème, mais mon problème c'est sur le dernier colonne qui est un lien pour ouvrir le CV qui se situe dans une répértiore de mon disque dur.

1er option : (qui est l'idéal)

Renommer les CV comme les références (colonne A) et de créer une macro pour chercher automatiquement le CV dans le répertoire à partir de du référence.

2ème option :

Quand je rempli le formulaire, je clic sur un bouton pour chercher le fichier contenant le CV dans le répertoire, Et après de marquer ce lien dans le tableau pour que je puisse cliquer dessus pour ouvrir le fichier.

Je penses être précis sur mon problème.

Merci d'avance.

4 réponses

gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 722
 
Bonjour,

Avec la "2ème option :", si ton CV est dans TextBox1, cela devrait fonctionner avec cette procedure :
Private Sub TextBox1_Enter()
With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        .Show
        If .SelectedItems.Count = 1 Then TextBox1 = .SelectedItems(1)
End With
End Sub

0
f1solution Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Merci gbinforme pour ta réponse. Je vais essayé et reviens vers toi.
0
f1solution Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Petite précision gbinforme. Mon CV se situe dans le disque dur. Disons E:\CV
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 722 > f1solution Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Aucune importance, la procédure parcours ton disque comme l'explorateur et tu peux préciser la position de départ :
Private Sub TextBox1_Enter()
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.InitialFileName = "E:\CV\"
.Show
If .SelectedItems.Count = 1 Then TextBox1 = .SelectedItems(1)
End With
End Sub
0
f1solution Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   > gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention  
 
Merci gbinforme, ça a marché jusqu'à l'ouverture du répertoire. Maintenant ce qui reste à faire, c'est comment mettre ce lien sur le tableau Excel dans la colonne "lien".

C'est à dire qu'à chaque enregistrement (d'un CV) dans une formulaire je puisse mettre un lien pour ouvrir le CV (fichier).

L'objectif final est que je puisse filtrer par exemple les candidats qui ont le diplôme de licence, une fois que le filtre est établi, je clic sur un lien pour ouvrir le CV d'un candidat.

C'est un peu compliqué, mais j'espère avoir suffisamment expliqué mon problème.
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 722
 
Bonsoir,

Lorsque tu valides ton formulaire, pour enregistrer en lien le fichier que tu as choisis tu peux mettre cette instruction :
ActiveSheet.Hyperlinks.Add Anchor:=Cells(lig, "H"), Address:= _
        TextBox1.Value, TextToDisplay:= _
        Mid(TextBox1.Value, InStrRev(TextBox1.Value, "\") + 1)
Tu remplaces évidemment "lig" par ta variable et "TextBox1" par le nom de ta textbox et éventuellement "ActiveSheet" par le nom de ta feuille "Sheets("mafeuille")".
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention  
 
Bonjour,

Pourquoi se compliquer la vie. La solution tu l'as donné dans ton titre Lien hypertexte.

mais mon problème c'est sur le dernier colonne qui est un lien pour ouvrir le CV qui se situe dans une répértiore de mon disque dur.

c'est là que tu mets ton lien hypertexte.
0
f1solution Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ta réponse cs_Le Pivert. En fait, si je n'utilise pas une formulaire je peux mettre directement le lien dans le tableau. Ce qui n'est pas évident pour plus de 2 000 CV. C'est pour cela que je cherche un moyen de faire figurer le lien dans le tableau par l'intermédiaire d'une formulaire.
Une formulaire classique n'est pas capable de le faire, je suis obliger d'utiliser une formulaire personnalisée.
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   > f1solution Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Si tes CV sont dans le même répertoire et qu'ils sont au même nom que celui dans la colonne. Tu peux faire cela sans formulaire, juste en cliquant sur le nom saisi sur la feuille.
A voir?
0
f1solution Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   > cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention  
 
Bonjour,
Merci pour ton aide. C'est ce que je pensais être le mieux, mais le problème c'est que je suis obliger d'écrire un programme pour le faire alors que je suis assez nul en programmation :(
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   > f1solution Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Il faut juste m'indiquer la colonne où ce trouve les noms qui correspondent a ceux de ton dossier de CV. Ensuite me dire de quelle extension sont tes fichiers CV. Je te fait un classeur exemple où il n'y aura qu'a copier quelque lignes sur ton classeur, ce n'est pas très compliqué. Il suffira ensuite que tu mettes ton classeur dans le même dossier que tes CV.

@+
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention  
 
Voici un exemple, il suffit de dezipper:

http://www.cjoint.com/c/FJsp3XqkLcQ
0
f1solution Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
Merci beaucoup, ça a marché. J'ai le choix entre celui de gbinforme et le tien.
Tu es un génie.
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 722
 
Bonjour f1solution, cs_Le Pivert,

"Abondance de bien ne nuit pas" ;-)

Choisit la solution qui te convient car il n'y a que celle-là qui te soit adaptée.

Pour la suite, tu sauras que les solutions sont multiples.

Bonne continuation.
0