With Selection.QueryTable prise en charge des scripte ?

Bonjours Jai ajouter une macro qui mets a jours les informations dune page web local.

elle ce trouve C:\Users\jonl\Desktop\Visualisation du script n°33.htm

Tout fonctionne bien mise a part que Jai un texte qui s'affiche de façon aléatoire dans un scripte dans la page web, qui n'est pas prit dans Excel

Je voulait savoir si y aurai une méthode pour que lorsque les données sont obtenues , le texte aléatoire dans le scrypte soi aussi copier dans excel.

voici le bouton macro.

Sub test()
Workbooks.Open ("http://www.google.ca")
End Sub

Sub MAJ()
    Dim i As Long, ws As Worksheet, wsReq As Worksheet, savbarre As String
    ' mettre Feuil2 en variable pour raccourcir le code et qu'il soit plus lisible
    Set ws = Worksheets("Liste liens")
    Set wsReq = Worksheets("Requete")
    'sauvegarde état barre d'état en bas
    savbarre = Application.DisplayStatusBar
    ' activer barre d'état
    Application.DisplayStatusBar = True
    derlig = ws.[B65536].End(xlUp).Row
    For i = 2 To derlig    ' pour chaque ligne d'adresse web
        'activer Feuil1 recevant la requête web
        wsReq.Select
        wsReq.[A1].Select
        ' mettre à jour le n° du site dans la barre d'état
        Application.StatusBar = "Site " & i - 1 & "/" & derlig - 1 & " en cours..."
        'modifier la requete web
        With Selection.QueryTable
            'la faire pointer sur la nouvelle adresse
            .Connection = "URL;" & ws.Cells(i, 2).Value
            .WebSelectionType = xlEntirePage
            .WebFormatting = xlWebFormattingAll
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = False
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False
            .AdjustColumnWidth = False
            .SavePassword = True
        End With
        ' créer feuillle si besoin
        If Not existSheet("Requete " & i - 1) Then
            Sheets.Add after:=Worksheets(Worksheets.Count)
            ActiveSheet.Name = "Requete " & i - 1
        End If
        ' copier la page de données dans nouvelle feuille
        Sheets("Requete " & i - 1).Select
        ActiveSheet.Cells.ClearContents
        wsReq.UsedRange.Copy Destination:=[A1]
        ActiveSheet.Rows("1:1").Insert Shift:=xlDown
        ActiveSheet.[A1] = ws.Cells(i, 2).Value
        '
    Next i    ' site suivant
    '
    'rétablir l'état de la barre d'état
    Application.DisplayStatusBar = savbarre
    ws.Select
    Set ws = Nothing
End Sub

Function existSheet(nomFeuille As String) As Boolean
        On Error Resume Next
    existSheet = Sheets(nomFeuille).Index
End Function

bonsoir,

cela va être difficile de t"aider tu as un problème avec une page ou un site dont tu ne donnes ni la référence, ni le contenu.

Bonsoir , en effet , j'ai donc ajouter les fichiers sources Excel et web, en question.

Je m'explique donc

il ya 3 fichier dans le zip.

1:Session 1 jon.xlsm; qui est mon classeur. celui que je cherche a copier coller le code Macro pour le site web.,

2:Demo donnée site web.xls; contien le code macro pour copier les donnée dun site web sur excel,

3:Visualisation du script n°33.htm; qui est ma page web réaliser très simplement avec un scripte qui affiche un texte aléatoire.

Dans mon classeur, J'aimerai donc que, en cliquant sur le bouton macro, Contrat Automatique, Celui ci appelle la procédure pour ouvrir le fichier web

C:\Users\informatiquelepage\Desktop\Visualisation du script n°33.htm

Et ajoute la valeur texte qui est afficher.

Le problème est que je bloque,Le code macro ne prend pas le texte aléatoire gérer par le scripte dans le fichier web, mais juste le texte brute , mais juste du contenue html.

Peut être sera t'il plus claire en ayant les fichier en main , je vous joint aussi une vidéo youtube qui montre a quoi sert mon petit classeur, car je sé que il peut être difficile d'expliquer parfois.

merci de votre aide .

Joublai defoi que sa peut etre utile voici la source du fichier html

Le texte aléatoire ce trouve afficher par cette ligne

onload="AfficherPostit(-1,-1,RandomPostit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0056)http://www.web-creation-fr.com/javascript/voir.php -->
<HTML><HEAD><META content="IE=5.0000" http-equiv="X-UA-Compatible">
     <TITLE>GENERATEUR SYSTEME BINAIRE ALEATOIRE</TITLE>     
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><LINK 
href="Visualisation%20du%20script%20n°33_fichiers/js.css" rel="stylesheet" type="text/css">
<style type="text/css">
body {
    background-image: url(Visualisation%20du%20script%20n%C2%B033_fichiers/Forex.jpg);
    background-color: #666;
    background-repeat: repeat;
}
</style>
<SCRIPT language="Javascript">
Postit=new Array();
Postit[0]="<b>ALÉATOIRE n°1 :</b><BR><BR>AU DESSU";
Postit[1]="<b>ALÉATOIRE n°2 :</b><BR><BR>EN DESSOU";
Postit[2]="<b>ALÉATOIRE n°3 :</b><BR><BR>AU DESSU";
Postit[3]="<b>ALÉATOIRE n°4 :</b><BR><BR>AU DESSU";
Postit[4]="<b>ALÉATOIRE n°5 :</b><BR><BR>EN DESSOU";
Postit[5]="<b>ALÉATOIRE n°6 :</b><BR><BR>EN DESSOU";

// Choix aléatoire du postit à afficher
function RandomPostit() {
    if (Postit.length>0) {
    nombre=(Math.floor((Postit.length)*Math.random()));
    return Postit[nombre];
    } else {
    return Postit[0];
    }
}

function AfficherPostit(xo,yo,texte) {
// Si le navigateur est autre que IE (il doit respecter les dernières normes du DHTML pour pouvoir afficher le postit)
if (!document.all){
    // Définition du calque dans une variable pour plus de commodité
    calque=document.getElementById('postit');
    // Si la coordonnée xo du postit vaut -1, alors on le centre en largeur
      if (xo==-1){xo=(window.innerWidth/2)-120;}
    // Si la coordonnée xo du postit vaut -1, alors on le centre en hauteur
      if (yo==-1){yo=(window.innerHeight/2)-120;}
    // Application de la position au calque
      calque.style.left=xo;
    calque.style.top=yo;
    // Insertion du contenu du postit
      document.getElementById('contenu').innerHTML="<font color=#000000 size=2 face=verdana>"+texte+"</font>";
    // Et enfin affichage du calque
      calque.style.visibility="visible";
}
else { // Si le navigateur est IE
    // Idem que ci-dessus pour le reste
    if (xo==-1){xo=(document.body.clientWidth/2)-120;}
    if (yo==-1){yo=(document.body.clientHeight/2)-120;}
      document.all.postit.style.left=xo;
    document.all.postit.style.top=yo;
      document.all.contenu.innerHTML='<font color=#000000 size=2 face=verdana>'+texte+'</font>';
      document.all.postit.style.visibility="visible";
}
}

function FermerPostit() {
     if (!document.all) {
    calque=document.getElementById('postit');
      calque.innerHTML="";
      calque.style.visibility="hidden";
     }
     else {
      postit.innerHTML="";
      document.all.postit.style.visibility="hidden";
     }
}
//-->
</SCRIPT>

<META name="GENERATOR" content="MSHTML 10.00.9200.16686"></HEAD>     
<BODY background="Visualisation du script n°33_fichiers/Forex.jpg" onload="AfficherPostit(-1,-1,RandomPostit())">
<P align="center">
<DIV id="postit" style="left: -240px; top: 0px; width: 240px; height: 240px; visibility: hidden; position: absolute;">
<TABLE width="240" height="240" background="Visualisation%20du%20script%20n°33_fichiers/33.postit.gif" 
border="0" cellpading="0">
  <TBODY>
  <TR>
    <TD align="center" valign="middle">
      <DIV id="contenu"></DIV></TD></TR></TBODY></TABLE>
<DIV id="close" style="left: 100px; top: -230px; width: 21px; height: 21px; position: relative;"><A 
href="javascript:FermerPostit()"><IMG src="Visualisation%20du%20script%20n°33_fichiers/33.punaise.gif" 
border="0"></A> </DIV></DIV>
<P></P>
<P align="center"><A href="javascript:history.go(0);" class="titre_menu" style="font-size: 36px">Cliquez ici pour recharger 
la page !</A></P></BODY></HTML>

voici le fichier zip

Merci beaucoup de votre aide

Rechercher des sujets similaires à "selection querytable prise charge scripte"