Fermer les popup internet par VBA

  • Initiateur de la discussion jeanjean
  • Date de début
J

jeanjean

Guest
Bonjour.

Par VBA, on a la possibilite de rappatrier un tableau d'une page internet. Le probleme, c'est que, lorsqu'un popup ou une fenetre de pub est present a l'ouverture de la page et qu'il est indispensable de le fermer pour pouvoir acceder a la page desiree, la macro VBA tombe en erreur.

Comment faire pour, dans VBA :

- verifier s'il y a un popup ou une fenetre de ce type
- si c'est le cas, le ou la fermer.

J'ai essaye en parametrant internet explorer afin qu'aucun popup ne soit affiche a l'ouverture de la page. Ca marche en manuel mais pas par le programme.

Quelqu'un sait il comment faire ?

Merci.
Cdlt.
Jeanjean.
 

Creepy

XLDnaute Accro
Hello all, JeanJean,

Ton problème à la mérite d'être interessant quoique je pense qu'il soit impossible de réaliser cette tache sous VBA !!

A moins qu'une âme charitable très très forte se propose et nous sorte quelque chose.

La première chose qui m'est venu en mémoire, c'est pourquoi n'installe tu pas un tueur de PopUp externe comme par exemple le très bon PopupKiller ?

Ensuite si vraiment tu voulais te lancer dans la programmation d'un VBA-PopupKiller voici comment il pourrait fonctionner (même principe que 80% des tueurs de popup).

1 - toujours laissé une feuille Excel ouverte
2 - Lorsque q'une feuille Internet s'ouvre, possibilité de rajouter son titre dans la liste dans Excel.
3 - A chaque ouverture de fenetre explorer, si le titre est dans la liste alors fermeture.

Voila, bien compliqué et je serais incappable de réaliser ca !

++

Creepy
 

MichelXld

XLDnaute Barbatruc
bonjour JeanJean , Creepy , Pascal et STephane

si ce n'est pas confidentiel , serait il possible de voir la page Web et la macro que tu utilises actuellement .


sinon en passant par un WebBrowser , il est possible d'empecher l'affichage des Pop Ups...( mais aussi de nouvelles fenetres IE ...)

Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
Cancel = True
End Sub


bonne soiree
MichelXld
 
J

jeanjean

Guest
Bonjour.

La page sur laquelle je vais recuperer le tableau est a l'adresse suivante. www.money.pl/pieniadze/nbp/srednie/ (page polonaise pour recuperer les cours de changes).
Je ne suis pas sur, qu'en utilisant des anti popup ou logiciels differents, ca change quoi que ce soit puisque j'ai reussi dans IE a faire disparaitre la fenetre en ajustant les options. En VBA, il semble que ce ne soit pas possible de supprimer cette fenetre.

Voici le programme correspondant. Je n'ai fait que demander a excel de m'enregistrer ce que j'ai fait manuellement :

With Selection.QueryTable
.Connection= 'URL;
.WebSelectionType = xlAllTables
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.Refresh BackgroundQuery:=False
End With

Merci.
Jeanjean
 

MichelXld

XLDnaute Barbatruc
bonjour JeanJean

j'ai sans doute rien compris à ta demande
voici un exemple avec l'enregistreur de macro brut de fonderie, qui fonctionne chez moi :


Sub Test()
With ActiveSheet.QueryTables.Add(Connection:= _
'URL;, Destination:=Range('A1'))
.Name = 'srednie'
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlAllTables
.WebFormatting = xlWebFormattingNone
.WebTables = '12'
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End Sub



bonne soiree
MichelXld
 

Discussions similaires

Réponses
8
Affichages
640

Statistiques des forums

Discussions
312 292
Messages
2 086 855
Membres
103 400
dernier inscrit
MINOU WILL