Vba excel Challenge, Aller cherché des liens

Ab44 -  
 Ab44 -
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
Configuration: Windows XP
Firefox 3.0.11
Office 2007

9 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  2. Ab44
     
    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
  3. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  4. Ab44
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  7. Ab44
     
    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
  8. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  9. Ab44
     
    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
  10. Ab44
     
    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