Macro excel besoin d'aide!

Résolu
belangeg Messages postés 17 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 21 novembre 2008 - 22 oct. 2008 à 15:37
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 - 24 oct. 2008 à 19:52
Bonjour à tous,
c'est la rpemière fois que j'écris sur ce site et j'espère que vous pourrez m'aider.

J'essaye de créer une  macro dans excel pour ouvrir un fichier PDF.

Je m'explique;

dans les cellules d'une colonne je veux pouvoir écrir le nom d'un fichier qui par la suite ouvre le fichier PDF correspondant qui sont tous à la même place.

Je n'y connais pas grand chose en programmation de macro alors si vous pouvez m'aider cela serai grandement apprécié!

A+

12 réponses

cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
23 oct. 2008 à 03:28
Une fois encore je suis allé trop vite. Si tu veux que ton lien ne s'applique qu'à la colonne B il faut mettre if target() <> "" and target.column = 2 then
3
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
24 oct. 2008 à 04:15
Bonjour belangeg

 Le mieux, c'est un Select. Par exemple, si tu veux les colonnes 1,2,3 et 7, ton code devient :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
      Select case Target.Column
            case 1 to 3, 7
                  if Target.Value <> "" then _
                     ActiveSheet.Hyperlinks.Add Anchor:=Target.Value, Address:= _
                     "C:\Mes documents\Dossier PDF" & Target.Value & ".pdf"
      End Select
End Sub

Cordialement
3
belangeg Messages postés 17 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 21 novembre 2008
24 oct. 2008 à 15:40
Bonjour Orohena,

La dernière version avec le Select. ne fonctionnait pas.

J'avais un message d'erreur; Run-time error '13' Type mismatch.
Je l'ai donc bidouillé un peu en enlevant le ".Value"
ce qui donne comme résultats ;

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
      Select Case Target.Column
            Case 1 To 3, 7
                  If Target <> "" Then _
                     ActiveSheet.Hyperlinks.Add Anchor:=Target, Address:= _
    "C:\Mes Documents\Dossier PDF" & Target & ".pdf"
      End Select
End Sub

Merci beaucoup pour ton aide!!
PS: il me reste plus qu'a trouver comment partager cette macro!!??
3
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
24 oct. 2008 à 19:52
Salut belangeg


Je vais tâcher de comprendre pourquoi le .Value plante, alors que c'est la propriété par défaut d'un objet Range. En tout cas bravo et merci d'avoir cherché et trouvé la solution au lieu de me renvoyer un "Ton code ne marche pas, peux-tu voir ?".


Cordialement
3

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

Posez votre question
cs_baloc Messages postés 56 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 29 octobre 2010
22 oct. 2008 à 15:54
es que tu peux donner ton début de programation?

et une victoire de plus pour Mr canard
0
belangeg Messages postés 17 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 21 novembre 2008
22 oct. 2008 à 19:33
Bonjour baloc, voici tel que demandé;

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Target <> "" Then

ActiveSheet.Hyperlinks.Add Anchor:=Target, Address:= _

"C:\Mes documents\Dossier PDF" & Target & ".pdf"

End If

End Sub

J'arrive pas à déterminer les colonne où je veux que cela se produise puisque comme c'est écris toutes les cellules le font

Merci d'avance
0
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
23 oct. 2008 à 01:14
Salut belangeg et baloc

J'ai essayé ton code, et ça fait exactement comme tu dis... Peux-tu expliquer, car je ne vois pas où est ton problème.

Cordialement
0
belangeg Messages postés 17 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 21 novembre 2008
23 oct. 2008 à 02:55
Salut Orohena,

Ben je veux pas toute la feuille , je veux juste que la macro s'applique sur la colonne B.
Et ça je sais pas comment!

Au plaisir d'avoir de vos nouvelles!
0
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
23 oct. 2008 à 03:02
Vu !


remplace


   if target() <> "" then


par


   if target() <> and target.column <> 2 then


Tu m'en diras des nouvelles !

Cordialement
0
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
23 oct. 2008 à 03:06
ça marchera encore mieux si tu mets


if target() <> and target.column <> 2 then


désolé
0
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
23 oct. 2008 à 03:18
Sincèrement désolé belangeg, il fallait lire :

if target() <> "" and target.column <> 2 then

@+
0
belangeg Messages postés 17 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 21 novembre 2008
24 oct. 2008 à 02:04
Ok Merci Orohena!

Je vais essé ça, et si je veux plusieurs colonnes je fait comment?

A+ 
0
Rejoignez-nous