sobeit1
Messages postés32Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention29 avril 2005
-
19 janv. 2005 à 13:20
sobeit1
Messages postés32Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention29 avril 2005
-
21 janv. 2005 à 14:25
bonjour, je suis débutant avec VB et je dois créer un tableau qui s'affiche selon
une requête et tout ça sous excel.
Le nombre de colonnes est fixe mais le nombre des lignes évolu en fonction de
la requête.
De plus, je dois créer une requête qui dépend d'un tableau excel (base de
donnée)qui se trouve sur le même classeur excel.
Je n'arrive à rien, si vous pouviez m'aider, je ne vous remercirai jamais assez.
(si je n'ai pas été suffisament clair, faite le moi savoir, merci!)
merci d'avance, Cedric.
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200620 20 janv. 2005 à 12:57
Mince, le code !
Sub Liste_Exemple()
Dim db_Exemple As Database
Dim rs_Exemple As Recordset
Dim rq_Sql As String
Dim nb_Lignes As Long
Dim Nom_Feuille As String
Dim i As Integer
Dim l As Long
' NOM DE LA FEUILLE
Nom_Feuille = InputBox("Entrez le nom de la feuille à créer.")
If Trim(Nom_Feuille) = "" Then Exit Sub
For i = 1 To Sheets.Count
If Sheets(i).Name = Nom_Feuille Then
MsgBox "Cette feuille existe déjà !", vbExclamation, "ERREUR"
Nom_Feuille = InputBox("Entrez le nom de la feuille à créer.")
i = 0
End If
Next
' OUVERTURE DE LA BASE DISTANTE
Set db_Exemple = opendatabase("MaBase.mdb", False, False, ";PWD=truc")
' REQUETE D'EXTRACTION DES DONNEES
rq_Sql = "SELECT PREDET.NOM_BENEF, PREDET.MONTANT_NUM, PREDET.LIBELLE, PREDET.REFERENCE"
rq_Sql = rq_Sql & " FROM PREDET"
rq_Sql = rq_Sql & " ORDER BY PREDET.NOM_BENEF"
Set rs_Exemple = db_Exemple.openrecordset(rq_Sql, dbopensnapshot)
' COMPTAGE DU NOMBRE D'ENREGISTREMENTS
rs_Exemple.MoveLast
nb_Lignes = rs_Exemple.RecordCount
rs_Exemple.MoveFirst
' CREATION DE LA FEUILLE RECEPTRICE
Sheets(1).Select
Sheets.Add
Sheets(1).Name = Nom_Feuille
sobeit1
Messages postés32Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention29 avril 2005 20 janv. 2005 à 08:56
salut CanisLupus,
Il s'agit bien de VBA, et je fais tout à partir d'excel.
La requête se fait sous vba mais il s'agit bien de SQL ( DoCmd.RunSQL "select ...") mais je n'arrive pas à afficher les résultats.
Par contre, l'utilisation de rechercheH et rechercheV est un peu flou pour moi, en effet, rechercheH(valeur_cherchée, table_matrice,no_index_lig,valeur proche) je ne sais pas quoi mettre pour remplacer tout ce qui est souligné et idem pour rechercheV.
Si tu peux me donner un coup de main, merci.
Merci d'avance, cordialement, Cédric.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200620 20 janv. 2005 à 12:55
Oublie le RechercheV et RechercheH, je pense que c'est inadapté à ton prob. Par contre, j'ai retrouvé une macro que j'avais écrite pour présenter des données d'une base Access dans un tableau Excel.
Tu peux peut-être t'en inspirer ?
sobeit1
Messages postés32Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention29 avril 2005 21 janv. 2005 à 09:56
Ton code marche impeccablement bien, merci.
Mais j'essai de mettre une variable dans range pour utiliser un IF et une boucle....
C'est pas évident à expliquer peut-être qu'avec le code que j'ai commencé, tu comprendras mieux. Voici le code :
Dim i As Integer
Dim g As String
Sheets("feuil1").Select
For i = 1 To Sheets.Count
g = F + i
If Me.TextBox1 = Range("F+i") Then
Rows("i:i").Select
Selection.Copy
Sheets("feuil2").Select
Rows("i:i").Select
ActiveSheet.Paste
End If
Next i