Menu

Créer une liste puis interroger une base [Résolu/Fermé]

dhaze 102 Messages postés mardi 27 septembre 2011Date d'inscription 8 mars 2018 Dernière intervention - 9 févr. 2015 à 17:55 - Dernière réponse : dhaze 102 Messages postés mardi 27 septembre 2011Date d'inscription 8 mars 2018 Dernière intervention
- 17 févr. 2015 à 19:23
Bonjour à tous,

Voilà, dans un premier temps je crée une liste à partir de deux colonnes :

Sub Exporter_colones_A_et_B()
    Dim sf As Object, o As Object, i As Integer, s As String
    Set sf = CreateObject("Scripting.FileSystemObject")
    Set o = sf.CreateTextFile("c:\temp\liste.txt", True)
    i = 2
    While Not IsEmpty(Cells(i, 1))
        s = s & Cells(i, 1) & " " & Cells(i, 2) & vbCrLf
        i = i + 1
    Wend
    o.WriteLine s
    o.Close
End Sub


Dans cette macro je voudrais déjà y rajouter un code qui ignorerait les lignes commencent par "#"
---

Puis, j'ai ajouté un lien vers la page qui permet d'interroger une base après chargement du fichier texte généré. En précisant ou se trouve le fichier pour l'utilisateur

MsgBox "Liste crée dans C:\temp\liste.txt", vbInformation, "Création"
ActiveWorkbook.FollowHyperlink "http://xx.fr/etatbase.htm", , True

---

Mais peut-on s'exonérer de cette opération et directement interroger la base en VBA avec cette lise ?
Sachant que le formulaire se présente ainsi:


<form method='POST' enctype='multipart/form-data' action='http://xx.fr/cgi-bin/etatbase.exe'>
 <input type=file name=upfileXXX>
 <input type=radio name=reduit value='O'>
 <input type=radio name=reduit value='N' checked>
 <input type=submit value="CLIQUER ICI">
</form>


Cerise sur le gâteau, comment avec une MsgBox choisir entre Oui ou Non avant lancement de l'exe ?

Lo.
Afficher la suite 

1 réponse

dhaze 102 Messages postés mardi 27 septembre 2011Date d'inscription 8 mars 2018 Dernière intervention - 17 févr. 2015 à 19:23
0
Utile
Par manque de réponse, voici comment j'ai contourné mon premier problème.
Pour le formulaire, je suis toujours cliente ;-)

Ciao !

Sub Liste_interrogation_base()

'**********************************************************************************
'   Création d'une feuille "Résultat interrogation base"
'**********************************************************************************

Application.ScreenUpdating = False

Dim Retour_Tableau As String
Dim Retour_Feuille As String

    Retour_Tableau = ActiveWorkbook.Name
    Retour_Feuille = ActiveSheet.Name

    Sheets.Add.Move After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Name = "Résultat interrogation base"

'**********************************************************************************
'   Sélection et copier/coller de la colonne du tableau d'origine
'**********************************************************************************

    Sheets(Retour_Feuille).Select
    ActiveSheet.Range(ActiveSheet.Range("F65536").End(xlUp), "F1").Select
    Selection.Copy

    Sheets("Résultat interrogation base").Select
    Range("A1").Select
    ActiveSheet.Paste
    Selection.PasteSpecial Paste:=xlPasteColumnWidths
    ActiveSheet.Paste

'**********************************************************************************
'   Suppression de tous les boutons
'**********************************************************************************

    Sheets("Résultat interrogation base").Shapes.SelectAll
    Selection.Delete

'**********************************************************************************
'   Suppression des lignes commencant par un hashtag
'**********************************************************************************

Dim Suppression_Hashtag As Integer

    For Suppression_Hashtag = [A65536].End(xlUp).Row To 1 Step -1
        If Not Cells(Suppression_Hashtag, 1).Find("#") Is Nothing Then Rows(Suppression_Hashtag).Delete
        Next Suppression_Hashtag

'**********************************************************************************
'   Création d'une liste au format texte
'**********************************************************************************

Dim Creation As Object, Liste As Object, I As Integer, S As String

    Set Creation = CreateObject("Scripting.FileSystemObject")
    Set Liste = Creation.CreateTextFile("C:\temp\liste.txt", True)
    I = 2
    While Not IsEmpty(Cells(I, 1))
        S = S & Cells(I, 1) & vbCrLf
        I = I + 1
    Wend
    Liste.WriteLine S
    Liste.Close

MsgBox "Liste crée dans:" & Chr(10) & _
    "C:\temp\liste.txt", vbInformation, "Chemin Liste"

'**********************************************************************************
'   Ouverture de la page "Etat de la base"
'**********************************************************************************

Dim Internet_Explorer

    Internet_Explorer = Shell("C:\Program Files\Internet Explorer\iexplore.exe http://xxxxx.fr/etatbase/etatbase.htm", vbNormalFocus)

MsgBox "Attendre la fin du téléchargement avant de continuer...", vbInformation, "procédure"

etc...