Vba excel Challenge, Aller cherché des liens

Fermé
Ab44 - 15 juil. 2009 à 21:54
 Ab44 - 16 juil. 2009 à 18:22
Bonjour,
Voila depuis un moment je m'arrache les cheveux pour allez cherché des liens qui sont dans un tableau sur un site pour après les mettres dans excel.
Classé dans le meme ordre...

Quelqu'un n'aurait pas un ptit script simple pour m'aider ?

je débute avec le Vb

Merci
A voir également:

9 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 688
15 juil. 2009 à 22:04
bonjour

As-tu essayé les requêtes Web dans le menu données ?

Il me semble que la fonction te fournit le résultat avec éventuellement une mise en forme à paramétrer.
0
merci pour l'astuce ca fonctionne.

J'aimerai créer aussi une macro pour que exec ouvre les liens qui se trouves dans une collone, un par un ou tous enssemble...

Comment faire ?
la c'est choo : S
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 688
15 juil. 2009 à 22:43
bonjour

un par un

pas besoin de macro, il suffit de cliquer la lien ?

tous enssemble

Une macro dans ce genre, en adaptant ta colonne devrait fonctionner.
Sub ouvre_liens()
Dim sel As Hyperlink
For Each sel In ActiveSheet.Columns(4).Hyperlinks
    sel.Follow NewWindow:=False, AddHistory:=True
Next sel
End Sub
0
hum quand je veux essayé cela ne fonctionne pas très bien.
pas du tout meme.
la page ou je vais chercher mon tableau.
est sur une page avec un login et un pass...
donc du coup je pense qu'il ne peut pas se connecté.

Comment réglé le problème?


Dans se tableau, on peut imaginé énormément de liens environ 2000.
Il faudrai que excel aille sur le lien un par un pour éviter de faire laguer le pc ^^
puis ensuite ferme la page au bout de 5 secondes par exemples.
et après passe au lien d'en dessou.


Merci de votre aide . :)
0

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

Posez votre question
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 688
15 juil. 2009 à 23:46
bonjour

est sur une page avec un login et un pass...

Effectivement, cela ne fonctionne pas sauf si tu peux mettre tes paramètres dans le lien.

puis ensuite ferme la page au bout de 5 secondes par exemples.

Ce n'est pas du tout la fonction du lien !
Si excel t'ouvres une page internet, il n'a pas la maitrise du navigateur qui ouvre la page : elle n'a ensuite rien à voir avec excel.

aille sur le lien un par un

Avec wait tu peux mettre les tempos que tu veux entre chaque ouverture.
0
Bonjour,

voila j'ai réussi pour le login et le mot de pass j'ai juste rajouterdans l'url : ?login=etc
en regardant le code source de la page.

J'utiliserai la commande wait.

Mais pour l'heure j'essaye d'arriver a avoir le tableau, avec les liens dedans. bien rangé
Puis que cela les cliks un par un dans un onglet de firefox si c'est possible ?

Vous êtes sur que ce n'est pas possible après de fermé la page internet ?
par une commande ? j'ai cru voir sa sur un site mais je ne le rettrouve plus.

j'arrive a avoir le Nom des liens du site mais il ne sont pas en hypertexte. :S
'ai juste l'intitulé du lien.

Comment corriger cela ?

merci beaucoup
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 688
16 juil. 2009 à 08:51
bonjour

un par un dans un onglet de firefox si c'est possible ?

C'est ton navigateur par défaut qui est activé.

mais il ne sont pas en hypertexte.

C'est normal qu'ils restent en texte il faut les valider, par exemple
Sub valide_lien() ' validation liens d'une colonne
Dim lig As Long
Dim col As Integer
col = 4             ' numéro colonne à valider (D ?)
For lig = 1 To Cells.SpecialCells(xlCellTypeLastCell).Row
    If left(Cells(lig, col).Value,4) = "http" Then
        ActiveSheet.Hyperlinks.Add Anchor:=Cells(lig, col), _
            Address:=Cells(lig, col).Value, TextToDisplay:=Cells(lig, col).Value
    End If
Next lig
End Sub
0
j'ai un petit problème..

j'ai un racourci ctrl T pour affiché les liens sur excel
quand je le fais sa le fais en boucle et a la suite des tableau de gauche a droite a l'infini.



alors ca bug...

Sinon je n'ai pas compris ton ptit bout de code.

Les liens Hypertext doivent de mettre dans la colonne B

C'est bien ce qui se produit.

Cependant j'ai par exemple Google au lieu de https://www.google.fr/?gws_rd=ssl
ou encore Trouvez tous avec Google au lieu de https://www.google.fr/?gws_rd=ssl

j'ai fait copié coller dans la macro en changeant 4 par 2.

Et comment fait t-on pour faire afficher les liens puis les validé puis les ouvres un par un ?
Il faut juste mettre les fonctions a la suite des autres ?

Merci beaucoup de ton aide.
0
Je t'ai copié tout le code ca sera plus simple.

Sub affiche_liens()
'
' affiche_liens Macro
' affiche liens
'


    Application.Goto Reference:="affiche_liens"
    
    Range("A2").Select
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.member.php?login=r&password=" _
        , Destination:=Range("$A$2"))
        .Name = "member.php?login=&password="
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = False
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "1"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False '
        .Refresh BackgroundQuery:=False
    End With
    
    ActiveWorkbook.Save
    Application.Run "essai.xlsm!affiche_liens"
    Columns("A:A").Select
    Selection.ColumnWidth = 20
    Columns("A:A").Select
    Selection.ColumnWidth = 4.86
    Selection.ColumnWidth = 5.57
    Range("B3").Select
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    Range("C3").Select
    Selection.ClearContents
    Range("B3").Select
    ActiveWorkbook.Save

    Application.Run "essai.xlsm!affiche_liens"  ' ya pas des trucs en trop ici ?
    ActiveWorkbook.Save                                  '
    Application.Run "essai.xlsm!affiche_liens"      '

End Sub




Sub valide_lien() ' validation liens d'une colonne
Dim lig As Long
Dim col As Integer
col = 2             ' numéro colonne à valider (D ?)
For lig = 1 To Cells.SpecialCells(xlCellTypeLastCell).Row
    If Left(Cells(lig, col).Value, 4) = "http" Then      'faut t'il que je remplace le 4 par 2 ici aussi ?
        ActiveSheet.Hyperlinks.Add Anchor:=Cells(lig, col), _
            Address:=Cells(lig, col).Value, TextToDisplay:=Cells(lig, col).Value
    End If
Next lig
End Sub




Sub ouvre_liens()
Dim sel As Hyperlink
For Each sel In ActiveSheet.Columns(2).Hyperlinks
    sel.Follow NewWindow:=False, AddHistory:=True
Next sel
End Sub
0