llouisin
Messages postés12Date d'inscriptionmardi 27 avril 2004StatutMembreDernière intervention25 novembre 2009
-
6 juin 2008 à 11:32
llouisin
Messages postés12Date d'inscriptionmardi 27 avril 2004StatutMembreDernière intervention25 novembre 2009
-
17 juin 2008 à 08:44
Bonjour,
Après une tres longue absence je me remet au VB sur excel 2007. Autant dire que je ne me rappel plus de rien !
Voici mon probleme :
J'ai une liste avec 5000 lien hypertexte qui me renvoie à un document PDF. Je voudrai qu'une macro puisse ouvrir les liens pdf un par uns, que la macro verifie (test) si le lien est valide (sinon afficher un message d'erreur).
Puis je voudrai qu'il me recupere le nombre de pages et le titre de la premiere page du document PDF et qu'il me le reporte dans une cellule...
Je travail sur XP et excel 2007.
Merci par avance de votre aide...
J'ecoute toutes propositions qui me permettrai de ne pas me faire les 5000 liens car je vais en avoir pour des mois !
llouisin
Messages postés12Date d'inscriptionmardi 27 avril 2004StatutMembreDernière intervention25 novembre 2009 9 juin 2008 à 17:16
Bonjour, je n'arrive toujours pas à trouver une solution, ca deviens urgent !! please !!
J'ai fais le lien ci-dessous mais je n'arrive toujours pas à afficher les lien érroné. Je dois controler la colonne 20, et je reporte mon info dans la colonne 1. Probleme il m'affiche toujours qu'il ne trouve pas les liens alors que certains existe...
Public Sub checklinks()
Dim chemn As String
Dim nom As String
Dim typ
Dim niv
Dim struc
Dim d
Dim structure
Dim h As Hyperlink
Dim i, j, k
Dim s() As String
Dim s1() As String
'Dim f As File
'Dim s As New FileSystemObject
'Dim w As Worksheet
k = 1
Set w = Workbooks(1).Worksheets(1)
w.Select
For i = 7 To 6000
If w.Cells(i, 20).Hyperlinks.Count = 1 Then 'vérifie si la cellule contient un lien hypertexte
nom = w.Cells(i, 20).Hyperlinks(1).Name
chemn = w.Cells(i, 20).Hyperlinks(1).Address
If nom = "" And chemn <> "" Then
w.Cells(i, 1).Value = "lien sans nom"
End If
If nom <> "" And chemn = "" Then
w.Cells(i, 1).Value = "Nom sans lien"
End If
s = Split(chemn, "/")
s1 = Split(s(UBound(s)), ".")
If s1(0) <> nom Then
w.Cells(i, 1).Value = "Incohérence de noms"
'w.Cells(i, 20).Hyperlinks(1).Follow
End If
End If
Next i
Set w = Nothing
jepassaisparla
Messages postés8Date d'inscriptionvendredi 25 avril 2008StatutMembreDernière intervention14 juin 2008 9 juin 2008 à 21:41
toujours au plus simple, ça devrait donner quelque chose comme ça
Sub BonsLiens()
Set ff = ActiveSheet ' les liens sont attachés à la feuille, pas aux cellules
For Each i In ff.Hyperlinks
vaddress = i.Address 'le nom complet
vnc = i.Range.Column 'la colonne
vnl = i.Range.Row 'la ligne
fic = Dir(vaddress)
If fic <> "" Then
Cells(vnl, vnc).Interior.ColorIndex = 4 ' ou cells(vnl,1)="Ok"
Else
Cells(vnl, vnc).Interior.ColorIndex = 3 ' ou cells(vnl,1)="c'est pas bon hein "
End If
Next i
End Sub
bon courage pour la suite.
Vous n’avez pas trouvé la réponse que vous recherchez ?
llouisin
Messages postés12Date d'inscriptionmardi 27 avril 2004StatutMembreDernière intervention25 novembre 2009 10 juin 2008 à 10:16
Merci pour ton aide, ca m'aide deja pas mal.
Ce prog arrive a faire la différence en les liens hypertexte et du simple texte. Mais il n'arrive pas à voir les liens hypertexte qui ne fonctionnent pas ou qui ont un chemin d'adresse érroné.
Si vous pouviez aussi m'aider la dessus...
En résumé il me manque :
La vérification des liens érronés ( chemin d'acces ou faux hypertexte)
Le nombre de pages du PDF ...
jepassaisparla
Messages postés8Date d'inscriptionvendredi 25 avril 2008StatutMembreDernière intervention14 juin 2008 11 juin 2008 à 20:06
je ne comprends pas vraiment le probléme.
Le code traite tous les liens hypertextes car on utilise la collection 'hyperlinks'.
Si des cellules ne sont pas traitées alors ce ne sont pas des liens H.
Il faut se méfier d'xl, ce n'est pas ce qu'il gère le mieux, après des manipulations sur un fichier ( suppressions, tries...) il arrive que les liens ne correpondent plus aux cellules même si celles-ci ont conservé le format du lien H.
Pour ton affaire il faudrait faire une expertise plus complète du fichier, je n'est pas assez de données.
llouisin
Messages postés12Date d'inscriptionmardi 27 avril 2004StatutMembreDernière intervention25 novembre 2009 12 juin 2008 à 08:30
Je vais essayer de m'exprimer un peu mieux...
Par exemple si le programme test un lien X, et que ce lien est bien un hypertexte, le programme considere que ce lien est bon.
Par contre si ce lien est bien un hypertexte mais que le chemin d'acces (adresse C\dossier_x) est erronée, le programme ne met pas une alerte. Quand je clic sur ce lien érroné, excel m'affiche " Impossible d'ouvrir le fichier spécifié ".
Je voudrai avoir une liste des liens corrompue afin de les "réparer"...
Ou alors c'est moi qui exploite mal ton programme (je suis une bille sur Vb)
jepassaisparla
Messages postés8Date d'inscriptionvendredi 25 avril 2008StatutMembreDernière intervention14 juin 2008 14 juin 2008 à 10:38
je me suis fait un fichier de test avec quelques liens bons et mauvais..
je lance le code sur ma feuille et les bons sont en vert et les liens qui pointent sur rien passent en rouge. Si ils ne changent pas de couleur, ce ne sont pas des liens.
...Ou alors c'est les droits d'accès sur un serveur qui sont en cause, tes droits dans ce ( ces ) répertoire sont peut-être limités à la vision des noms de fichiers mais pas à leur ouverture? si c'est un serveur d'entreprise vois avec un administrateur.