je m emmele trop , please help

AKSooL

XLDnaute Occasionnel
Bonjour la communauté

voici mon code , ce que je cherche a faire , c est qd la personne clique sur une case, il prend le nom dans la case et va ouvrir le fichier en pdf

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Select Case Target.Column
Case 18, 19, 20, 21, 64, 65, 66, 67, 68, 69, 70, 71
If Target <> "" Then
MonDir = "K:\Solution\Final\"
On Error Resume Next
Shell "C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe " & MonDir & Target.Value & ".pdf"


If Err.Number <> 0 Then
On Error GoTo 0
MsgBox "Pas de PDF"
Exit Sub
End If
On Error GoTo 0
End If
End Select
End Sub


ca marche bien , mais le hic est que je voudrais qd il trouve pas le fichier qu il aille voir dans un autre directory genre "K:\Solution\Final2\".

mais apres plusieurs tentatives j y arrive pas

merci pour votre aide
 

Staple1600

XLDnaute Barbatruc
Re : je m emmele trop , please help

Bonsoir AKsool, Jean-Marcel, le fil


Histoire d'alléger un peu

Code:
Select Case Target.Column
Case 18 to 21, 64 to 71
est équivalent à
Code:
Select Case Target.Column
Case 18, 19, 20, 21, 64, 65, 66, 67, 68, 69, 70, 71
 

AKSooL

XLDnaute Occasionnel
Re : je m emmele trop , please help

merci pour l optimisation
mais le code ne fait rien , si il trouve le fichier dans le 1er repertoire ca marche , mais s il trouve rien , il ne va meme pas chercher dans le 2eme repertoire, il va juste ouvrir acrobat reader et mets un message d erreur , au lieu de pas de PDF
 

Staple1600

XLDnaute Barbatruc
Re : je m emmele trop , please help

Re



Évidemment qu'il ne fait rien en l'état

Il fallait juste remplacer ainsi dans le code initial tout en gardant le reste de la macro
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Select Case Target.Column
Case 18 to 21, 64 to 71
If Target <> "" Then
    MonDir = "K:\Solution\Final\"
    On Error GoTo GestionDesErreurs
    Shell "C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe " & MonDir & Target.Value & ".pdf"
    On Error GoTo 0
 End If
End Select
GestionDesErreurs:
    If Err.Number <> 0 Then
        Err = 0
        ' L'ouverture dans le second répertoire ici
        
        
        MsgBox "Pas de PDF"
        Exit Sub
    End If
End sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : je m emmele trop , please help

Re


Testes ceci (Le MsgBox c'est bien pour tester)


Ecrit toto en R1, puis double-cliques sur R1
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Select Case Target.Column
Case 18 To 21, 64 To 71
If Target <> "" Then
    MonDir = "C:\temp\"
    On Error GoTo GestionDesErreurs
    'Shell "C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe " & MonDir & Target.Value & ".pdf"
    MsgBox MonDir & Target.Value & ".pdf"
    On Error GoTo 0
 End If
End Select
GestionDesErreurs:
    If Err.Number <> 0 Then
        Err = 0
        ' L'ouverture dans le second répertoire ici
        MsgBox "Pas de PDF"
        Exit Sub
    End If
End Sub

Tu vois que cela fonctionne non ?
 

AKSooL

XLDnaute Occasionnel
Re : je m emmele trop , please help

voila

en gros dans la 3eme colonne , tu tappes le nom d un fichier pdf
genre tu tappes r1 , il va t ouvrir dans c:\temp\ , le fichier r1.pdf
mais je veux que s il ne le trouve pas, qu il aille dans le fichier c:\temp2\ par exemple , rechercher le fichier r1.pdf, et s il ne le trouve pas , qu il mette pas de PDF
 

Pièces jointes

  • test.xlsm
    14.3 KB · Affichages: 37
  • test.xlsm
    14.3 KB · Affichages: 40
  • test.xlsm
    14.3 KB · Affichages: 39

YANN-56

XLDnaute Barbatruc
Re : je m emmele trop , please help

Bonsoir à tous, je passais par ici,

Merci Staple pour

Select Case Target.Column
Case 18 to 21, 64 to 71

Un détail qui n'en est pas un quand l'on a une caisse de cas!!!

Amicalement.

(Je me casse, car je ne pige rien au reste)

Yann
 

Paritec

XLDnaute Barbatruc
Re : je m emmele trop , please help

Bonsoir Aksool, JeanMarcel, Jean Marie , yves,
alors moi je ne vois pas ce que tu reproches à ce code
je viens de le tester et chez moi il marche !!!
est-ce que tu es sur de l'avoir mis ou il faut ?
a+
Papou :)
 

kjin

XLDnaute Barbatruc
Re : je m emmele trop , please help

Bonsoir à tous,
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Select Case Target.Column
Case 18 to 21, 64 To 71
    If Target <> "" Then
        Rep = Array("Final1", "Final2")
        For i = 0 To UBound(Rep)
            f = "K:\Solution\" & Rep(i) & "\" & Target & ".Pdf"
            If Dir(f) <> "" Then
                Shell "C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe " & f
                Exit Sub
            End If
        Next
    End If
End Select
MsgBox "fichier introuvable"

End Sub
Voir la liste des répertoires à scruter ou sinon préciser où rechercher (dossiers, disque complet, ordi...)
A+
kjin
 

AKSooL

XLDnaute Occasionnel
Re : je m emmele trop , please help

le code de kjin marche parfaitement ;-)
merci

Paritec, ben chez moi il marche pas ( le 2eme message de pdf s affiche pas , s il trouve pas le fichier, il ouvre acrbat et message d erreur , pas de message "pas de PDF"
c est tout

mais maintenant ca marche
 

Discussions similaires

Statistiques des forums

Discussions
312 217
Messages
2 086 353
Membres
103 195
dernier inscrit
martel.jg