Macro pour remplacer un Ctrl+K

Bluecross Messages postés 4 Date d'inscription vendredi 3 juin 2016 Statut Membre Dernière intervention 6 juin 2016 - 3 juin 2016 à 14:11
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 6 juin 2016 à 10:42
Bonjour,

Je suis dans la panade car ça fait 2 semaines que j'essaye de faire une macro pour me simplifier la vie mais je reste toujours bloquer sur le même problème.

Je dois insérer des hyperliens dans un tableau excel mais à chaque fois que je trouve quelque chose, sa ouvre une fenêtre de dialogue mais sa ne génère pas d'hyperlien. Je précise que l'hyperlien N'EST PAS FIXE.

Donc est-ce que quelqu'un pourrait m'aider a créer une macro pour insérer un hyperlien que le choisirais juste avant ??

Merci d'avance :D

7 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
3 juin 2016 à 17:41
Bonjour,
j'essaye de faire une macro pour me simplifier la vie mais je reste toujours bloquer sur le même problème

et
à chaque fois que je trouve quelque chose, sa ouvre une fenêtre de dialogue mais sa ne génère pas d'hyperlien. Je précise que l'hyperlien N'EST PAS FIXE.


je te rappelle (règles de ce forum) que tu dois montrer le code tenté.

Qu'as-tu donc tenté d'écrire, après (bien évidemment) :
- avoir ouvert ton aide VBA à la rubrique Hyperlink, objet
- puis examiné chacune des rubriques exposées en développant la sous-rubrique Membres de l'objet Hyperlink

0
Bluecross Messages postés 4 Date d'inscription vendredi 3 juin 2016 Statut Membre Dernière intervention 6 juin 2016
Modifié par Bluecross le 6/06/2016 à 08:46
Bonjour,

Sub Autocrea()
Sheets("Données").Select

Range("A1").Select

Dim ligne As Long
ligne = 89
Do While Not IsEmpty(Range("A" & ligne))
ligne = ligne + 1
Loop

ActiveCell(ligne).Select

Dim NomCarte As String
NomCarte = InputBox("Selection du nom de la carte", "Création d'une nouvelle carte")
ActiveCell.Value = NomCarte
ActiveCell.Offset(, 1).Select

Dim Code As String
Code = InputBox("Selection du code de la carte", "Création d'une nouvelle carte")
ActiveCell.Value = Code
ActiveCell.Offset(, 1).Select

Dim Reference As String
Reference = InputBox("Selection de la référence carte", "Création d'une nouvelle carte")
ActiveCell.Value = Reference
ActiveCell.Offset(, 1).Select

Dim Client As String
Client = InputBox("Selection du client de la carte", "Création d'une nouvelle carte")
ActiveCell.Value = Client
ActiveCell.Offset(, 1).Select

Dim Famille As String
Famille = InputBox("Selection de la famille de la carte", "Création d'une nouvelle carte")
ActiveCell.Value = Famille
ActiveCell.Offset(, 1).Select


End Sub



Voilà pour le code. Il est censé sélectionner la dernière ligne vide pour y rentrer des informations. Tout cela fonctionne cependant il me manque le programme pour créer des hyperliens automatiquement ( le fameux Ctrl+k ). Merci pour ta futur réponse ! :)
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 6/06/2016 à 08:56
Bonjour,
je ne vois rien, dans ton code, qui tente au moins d'utiliser ce que je t'ai invité à lire dans ton aide VBA.
Je t'y invite donc à nouveau à à nous montrer ce que tu as au moins tenté d'écrire sur les bases de cette lecture.
Je te rappelle que tu as écrit plus haut :
à chaque fois que je trouve quelque chose, sa ouvre une fenêtre de dialogue mais sa ne génère pas d'hyperlien


________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Bluecross Messages postés 4 Date d'inscription vendredi 3 juin 2016 Statut Membre Dernière intervention 6 juin 2016
6 juin 2016 à 09:17
Voici notre dernière essais AVEC l'aide VBA. Mais sa n'arrange pas notre problème.

Sub hy()
'
' hy Macro
'

'
Application.Run "'Donnée constructeur ( activer les macros ).xls'!Autocrea"
'Sa c'est pour créer une nouvelle ligne dans notre excel automatiquement c'est juste un appel d'une autre macro qui fonctionne
' C'est la que notre problème intervient avec le fameux Ctrl+K :)

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"Gamme\AutoGamme\DEVIS%20MO%20BOITIER%20SCONV%2063025602AA%2021-12-2015%20avec%20PDC.xlsm" _
, TextToDisplay:= _
"Gamme\AutoGamme\DEVIS MO BOITIER SCONV 63025602AA 21-12-2015 avec PDC.xlsm"
' La on a choisi une adresse mais en faisant le Ctrl+K nous même. Mais on ne trouve pas comment l'intégrer directement dans le VBA qu'on à écrit avant :D

End Sub

C'est la macro qui ce rapproche le plus de ce que l'on souhaite. Mais ce n'est pas encore ça. :D
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 6/06/2016 à 10:36
Bon,
1) je ne veux même pas commenter le code que tu as présenté plus haut. Non seulement il est fait à coups de select (à proscrire au bénéfice d'un travail direct sur les objets Excel), mais il comporte de surcroît des "étrangetés", telle celle-ci :
ActiveCell(ligne).Select !!!
2) Je fais donc volontairement l'impasse sur ces aspects (que tu as à bûcher) et ne m'en tiens qu'au remplacement de ton CTRL+K
Cette commande ouvre une boîte de dialogue, c'est tout.
Tu peux l'ouvrir par code ainsi (exemple) :
Range("F1").Select
With Application.Dialogs(xlDialogInsertHyperlink)
.Show
End With

ce qui ouvrira ta boîte de dialogue et insèrera le fichier choisi et confirmé comme hyperlien en cellule F1.


________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Bluecross Messages postés 4 Date d'inscription vendredi 3 juin 2016 Statut Membre Dernière intervention 6 juin 2016
6 juin 2016 à 10:38
Oui c'est ça, le fameux Ctrl+K qu'il nous fallait !! Comme quoi les programmes que tu nous as demandé avants n'étaient pas nécessaire vu que tu n'en a pas pris compte ! Donc sa aurait était gentil et plus simple de directement nous donner le code pour le Ctrl+K ^^ Au plaisir de retravailler avec toi :)
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 6/06/2016 à 10:47
Ben non !
1) je ne t'avais pas demandé autre chose que le code que tu avais tenté d'écrire en ce qui concernait UNIQUEMENT l'insertion d'un lyperlien
2) tu apprendras vite que j'ai un principe (presque une religion) : conduire le demandeur à pêcher, plutôt que d'attendre qu'on lui donne un poisson. C'est dans cet esprit, que je t'ai invité à lire certaines rubriques de l'aide VBA (ce que tu n'as apparemment pas su faire).
Ou tu acceptes cette manière de guider, ami, et tu recevras volontiers mon aide. Ou tu ne l'acceptes pas et ... devine.
Pour ton info : je ne me sers jamais de cette boîte de dialogue et préfère agir autrement. Je ne l'ai donc étudiée QUE pour toi (te renseigner). Tu ne trouves pas que l'un de nous deux est plus cossard que l'autre ?

Et pendant que nous y sommes : tu es ici sur un forum, qui a des règles à respecter, dont :
- la présentation de code entre balises code (ne l'oublie dorénavant pas)
- la libération (un clic sur le tag RESOLU au niveau du 1er message) de toute discussion résolue. Ne l'oublie pas non plus.

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Rejoignez-nous