Macro excel besoin d'aide! [Résolu]

Signaler
Messages postés
17
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
21 novembre 2008
-
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
-
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

Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
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
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
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
Messages postés
17
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
21 novembre 2008

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!!??
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
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
Messages postés
56
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
29 octobre 2010

es que tu peux donner ton début de programation?

et une victoire de plus pour Mr canard
Messages postés
17
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
21 novembre 2008

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
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
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
Messages postés
17
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
21 novembre 2008

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!
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
Vu !


remplace


   if target() <> "" then


par


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


Tu m'en diras des nouvelles !

Cordialement
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
ça marchera encore mieux si tu mets


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


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

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

@+
Messages postés
17
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
21 novembre 2008

Ok Merci Orohena!

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

A+