Bonjour,
(Je suis encore debutant sur VBA Excell, je m'en sors pas mal sur VB-Access)
Je voudrais vous demander une aide svp par rapport à ce code :
Actuellement, tt est OK, ce code implement la feuil2 du meme fichier par la requete SQL, en connexion avec une BD (code sur module, aucun soucis de ce coté la aussi).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Private Sub valider_Click() Dim k As Integer With Sheets("Feuil2") Columns("A:F").ClearContents End With Set rst = db.OpenRecordset("SELECT [table].[id], [table].[Name], [table].[PrName], [table].[Start Date], [table].[End Date] FROM [table];") k = 0 Do k = k + 1 If k > 100 Then Exit Do With Sheets("Feuil2") .Cells(k, 1) = rst.Fields("id").Value .Cells(k, 2) = rst.Fields("Name").Value .Cells(k, 3) = rst.Fields("PrName").Value .Cells(k, 4) = rst.Fields("Start Date").Value .Cells(k, 5) = rst.Fields("End Date").Value End With rst.MoveNext Loop Until rst.EOF rst.Close End Sub
La requete est apte à recevoir une clause Where.
Mais je sens que ce code n'est pas ... assez flexible; du coup, je voudrais savoir si possible comment :
- Créer un nouveau fichier Excel(une seule feuille) en mode lecture seul (modification impossible, enregistrement possible) implementé par la requete (et qu'il l'ouvre entre temps).
- Sur le nouveau fichier Excel, mettre en premiere colonne les noms des colonnes de la requete SQL (coloré et figé).
Voila ! Merci d'avance!
Partager