Problème Macro ouvrant des liens web

V

Vincent

Guest
Bonjour,

J'ai indiqué dans des cellules de ma feuille Excel des liens web.
J'ai créé une Macro avec Excel 97 (sous XP) qui sélectionne ces cellules et donc ouvre plusieurs fenetres de mon navigateur sur le liens renseignés.
Cependant, cette Macro fonctionne correctement 1 fois puis ensuite bug sur la ligne 'Range('D50').Select'

Sub Macro1()
Range('D49').Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Range('D50').Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End Sub


Message du bug :
Erreur d'exécution '1004':
La méthode 'Range' de l'objet '_Global' a échoué


Je ne sais pas ce qu'est l'objet '_Global' .

Pourriez vous m'expliquer pourquoi ca fonctionne une seule fois et m'aider pour que tous les liens puissent être ouvert par la Macro, svp ?

Cela étant, dans chaque page web ouverte, je souhaite également faire une recherche de caractère et afficher le résultat à coté de la cellule du lien dans la feuille excel.
Je ne sais pas quel commande permet de le faire.

Merci pour votre aide.
 

albert

XLDnaute Occasionnel
bonsoir Vincent, le forum,
ton code est correct, il manque peut-être le lien dans la feuille. Je joins un exemple.
pour afficher le résultat dans ta feuille, il faut importer les données avec données/données externes/nouvelle requête sur le web... et sélectionner la partie qui t'intéresse (méthodes différentes selon ta version excel)

albert [file name=Vincent.zip size=7252]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Vincent.zip[/file]
 

Pièces jointes

  • Vincent.zip
    7.1 KB · Affichages: 102
  • Vincent.zip
    7.1 KB · Affichages: 103
  • Vincent.zip
    7.1 KB · Affichages: 104
V

Vincent

Guest
Merci pour ta réponse mais avec ton exemple, j'ai strictement le même bug. Est ce parce que j'utilise Firefox ?

Sinon, étant novice, je n'ai pas compris la partie importer les données pour la recherche de caractère sur la page web.
 

albert

XLDnaute Occasionnel
salut Vincent, forumiens, forumiennes,
on peut ajouter l'url dans le code vba : fais un essai avec
Sub VincentTest()

Sheets('Feuil1').Select
Range('AA20').Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
'Lien supprimé
Range('AA20').Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Application.GoTo Reference:='R20C27'
End Sub

Pour la procédure d’importation, envoie l’adresse url de ce que tu veux importer, je ferai un exemple


albert
 
V

Vincent

Guest
Bonjour Albert,

Merci pour ta réponse.
Avant d'executer ta nouvelle macro, j'ai relancé plusieurs fois la mienne et celle que tu m'as envoyée hier et je n'ai plus cette fameuse erreur 1004.

Je ne comprends pas. :S

Ta nouvelle macro ne me convient pas car je préfère pouvoir modifier directement les liens HT que je souhaite voir ouvrir.
Par contre à quoi sert ceci (Application.GoTo Reference:='R20C27' ) dans ta Macro ?

Concernant l'importation, voici mon doc avec les liens.

Vincent

[file name=Vincent2.zip size=6853]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Vincent2.zip[/file]
 

Pièces jointes

  • Vincent2.zip
    6.7 KB · Affichages: 44

albert

XLDnaute Occasionnel
bonsoir Vincent, forumiens, forumiennes,
1/
R20C27 = ligne 20, colonne 27 (colonne AA) c’est l’emplacement où se trouve l’adresse url
Application.GoTo Reference exécute l’adresse



2/
L’enregistreur de macro donne le code suivant :
Code:
Sub Macro1()

    With ActiveSheet.QueryTables.Add(Connection:= _
        'URL;[url]http://www.lacentrale.fr/recherche_auto.php?SS_CATEGORIE=33&getparam=&advanced=&CATEGORIE=-1&init=false&marque=117424%7CMINI&modele=0%7CMINI&prix_mini=&prix_maxi=13500&energie=2&cp='[/url] _
        , Destination:=Range('A1'))
        .Name = _
        'recherche_auto.php?SS_CATEGORIE=33&getparam=&advanced=&CATEGORIE=-1&init=false&marque=117424%7CMINI&modele=0%7CMINI&prix_mini=&prix_maxi=13500&energie=2&cp='
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = '''TabAnnAuto'''
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub

On peut simplifier en retirant ce qui est inutile :

Code:
Sub Macro2()
With ActiveSheet.QueryTables.Add(Connection:= _
        'URL;[url]http://www.lacentrale.fr/recherche_auto.php?SS_CATEGORIE=33&getparam=&advanced=&CATEGORIE=-1&init=false&marque=117424%7CMINI&modele=0%7CMINI&prix_mini=&prix_maxi=13500&energie=2&cp='[/url] _
        , Destination:=Range('A1'))
       .WebFormatting = xlWebFormattingNone
        .WebTables = '''TabAnnAuto'''
        .Refresh BackgroundQuery:=False
    End With
End Sub

Tu peux travailler l’adresse pour faire des recherches. J’ai fai t un exemple pour faire varier le prix :
Le prix est en L20 et dans le code => prix = Cells(2, 12)
Dans l’adresse => j’ai remplacé prix_maxi=13500 par prix_maxi=' & prix & '


albert [file name=centrale.zip size=10203]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/centrale.zip[/file]
 

Pièces jointes

  • centrale.zip
    10 KB · Affichages: 74

Discussions similaires

Statistiques des forums

Discussions
312 555
Messages
2 089 547
Membres
104 208
dernier inscrit
laura29180