Import fichier .dqy dans vb

Résolu
Signaler
Messages postés
42
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
9 mai 2006
-
Messages postés
42
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
9 mai 2006
-
Bonjour,

je suis actuellement en stage, et je recherche une solution me permettant d'importer un fichier .dqy (requête excel) dans un programme vb afin d'effectuer des tris et diverses opérations.
Donc si quelqu'un a une solution je lui serais très reconnaissant

Merci d'avance et Bonne continuation à tous

MIK

5 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,


le code suivant recupere les lignes du fichier "C:\winzip.log" dans un tableau p()

Essai de voir si ca peut t aider


Dim p() As String
Dim i As Integer
ReDim p(0)
i = 0
Open "C:\winzip.log" For Input As #1
Do While Not EOF(1)
Input #1, p(i)
i = i + 1
ReDim Preserve p(i)
Loop

Close #1
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
42
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
9 mai 2006
2
Juste pour info,
excel ouvre bien les .dqy
il suffit juste de d'ouvrir une requête déjà existante!

'On active et sélectionne la feuille sur laquelle on va procédé aux différentes
'opérations de classement

Worksheets("Feuil1").Activate
Worksheets("Feuil1").Select

'On sélectionne la case dans laquelle on place l'origine de la requête

Range("B1").Select

'On indique le chemin de la requête existante dans le disque commun
With ActiveSheet.QueryTables.Add(Connection:= _
"FINDER;C:\WINDOWS\Bureau\quêtes.dqy", Destination:= _
Range("B1"))

'on indique le nom de la feuille dans laquelle on travaille

.Name = "Feuil1"

'on en définit les propriétés

.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
42
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
9 mai 2006
2
Merci de ta réponse très rapide,
je vais essayer avec ce que tu as dit.
Pour l'instant, je suis en train de voir avec le code suivant :(mais il plante un max) " c'est un exemple sur lequel je me base, mais il faudrait que je puisse voir le résultat (je pense utiliser une printform)"

Public Sub Command2_Click()
'appel de la feuille en question
Workbooks.Open "C:\Mes Documents\Notes.dqy"
'sélection de la feuille(inutile pour le moment puisqu'il y a une seule feuille, mais il faut prévoir)
Worksheets("Notes").Select
Dim Note As Integer
Dim Mention As String
'Déclaration de l'endroit où se trouve la note à aller chercher(voir pour utiliser une boucle)
Note = Range("AC2")
Note = "10" Then
Mention = "Bien"
Range("AD2") = Mention
End If
End Sub
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,

Si tu ne t es pas trompe en recopiant, ca marche pas (je pense):

A la ligne: Note = "10" Then -> Cette ligne devrait commencer par un IF

-> Excel sait ouvrir des .dqy? je savais pas.

@+
Messages postés
42
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
9 mai 2006
2
Pour l'ouverture des fichiers .dqy, justement j'essaie car c'est le bordel.
Mais il faut que j'essaie pour y arriver.
Alors je cherche toutes les solutions possibles et imaginables.
En ce qui concerne mon code, je sais qu'il est faut , je viens de commencer, la chose qui est cool est qu'apparemment vb me charge tout de même le dossier .dqy
Je vais continuer à chercher, et je te remercie de m'aider dans ma quête par tes réponses très rapides.

Amicalement
MIK