Bonjour,
Dans un fichier XLS, j'ai une liste de numéro sur une feuille.
J'aimerai importer d'une table SQL, des enregistrements en faisant la
sélection sur la liste de numéro de ma feuille
Comment faire ?
Merci à ceux ou celles qui pourront m'aider
JoMa
Bonjour,
Dans un fichier XLS, j'ai une liste de numéro sur une feuille.
J'aimerai importer d'une table SQL, des enregistrements en faisant la
sélection sur la liste de numéro de ma feuille
Comment faire ?
Merci à ceux ou celles qui pourront m'aider
JoMa
Bonjour,
Dans un fichier XLS, j'ai une liste de numéro sur une feuille.
J'aimerai importer d'une table SQL, des enregistrements en faisant la
sélection sur la liste de numéro de ma feuille
Comment faire ?
Merci à ceux ou celles qui pourront m'aider
JoMa
Bonjour Josette,
Voici une procédure qui va mettre à jour tes données de la feuille au fur
et à mesure que tu entres tes données (ou
modifie) sur une plage définie . En fonction des résultats de la
recherche, des informations sont extraites de la base
de donnée (access dans l'exemple) pour être inscrit dans la feuille de
calcul. Selon tes besoins, il y moyen de modifier
cette procédure pour en faire une boucle sur une plage de données...
Tu dois ajouter à ton projet la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
à insérer dans le module feuille où l'action se déroule.
'----------------------------------------------
Sub RechercherDataAccessPourExcel
Dim MyRange As Range
Set MyRange = Range("A1:A25")
If Union(Target, MyRange).Address = MyRange.Address Then
Dim db As Database
Dim RstTrouve As Recordset
Dim Chaine As String
Set db = OpenDatabase("C:LotusMes Documentsbd2.mdb")
Set RstTrouve = db.OpenRecordset("Etudiant", dbOpenDynaset)
RstTrouve.MoveLast
RstTrouve.MoveFirst
Chaine = Trim(Target.Value)
Application.EnableEvents = False
With RstTrouve
.FindFirst "[NomEtudiant] = " & Chr(34) & Chaine & Chr(34)
If .NoMatch = False Then
Target.Offset(, 1) = RstTrouve(2)
Target.Offset(, 2) = RstTrouve(3)
Target.Offset(, 3) = RstTrouve(4)
Target.Offset(, 3) = RstTrouve(5)
End If
End With
Set db = Nothing
Set RstTrouve = Nothing
Application.EnableEvents = True
End If
End sub
'----------------------------------------------
Au lieu d'ouvrir une table, tu peux aussi utiliser une requête dont voici
un exemple à inclure dans la procédure le cas
échéant.
Syntaxe Pour une requête:
Set RstTrouve = db.OpenRecordset("SELECT Etudiant.NomEtudiant,
Etudiant.Initiale FROM Etudiant WHERE Etudiant.Initiale Like" & "'Pa'",
dbOpenDynaset)
Salutations!
"Microsoft" a écrit dans le message de
news:
Bonjour,
Dans un fichier XLS, j'ai une liste de numéro sur une feuille.
J'aimerai importer d'une table SQL, des enregistrements en faisant la
sélection sur la liste de numéro de ma feuille
Comment faire ?
Merci à ceux ou celles qui pourront m'aider
JoMa
Bonjour Josette,
Voici une procédure qui va mettre à jour tes données de la feuille au fur
et à mesure que tu entres tes données (ou
modifie) sur une plage définie . En fonction des résultats de la
recherche, des informations sont extraites de la base
de donnée (access dans l'exemple) pour être inscrit dans la feuille de
calcul. Selon tes besoins, il y moyen de modifier
cette procédure pour en faire une boucle sur une plage de données...
Tu dois ajouter à ton projet la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
à insérer dans le module feuille où l'action se déroule.
'----------------------------------------------
Sub RechercherDataAccessPourExcel
Dim MyRange As Range
Set MyRange = Range("A1:A25")
If Union(Target, MyRange).Address = MyRange.Address Then
Dim db As Database
Dim RstTrouve As Recordset
Dim Chaine As String
Set db = OpenDatabase("C:LotusMes Documentsbd2.mdb")
Set RstTrouve = db.OpenRecordset("Etudiant", dbOpenDynaset)
RstTrouve.MoveLast
RstTrouve.MoveFirst
Chaine = Trim(Target.Value)
Application.EnableEvents = False
With RstTrouve
.FindFirst "[NomEtudiant] = " & Chr(34) & Chaine & Chr(34)
If .NoMatch = False Then
Target.Offset(, 1) = RstTrouve(2)
Target.Offset(, 2) = RstTrouve(3)
Target.Offset(, 3) = RstTrouve(4)
Target.Offset(, 3) = RstTrouve(5)
End If
End With
Set db = Nothing
Set RstTrouve = Nothing
Application.EnableEvents = True
End If
End sub
'----------------------------------------------
Au lieu d'ouvrir une table, tu peux aussi utiliser une requête dont voici
un exemple à inclure dans la procédure le cas
échéant.
Syntaxe Pour une requête:
Set RstTrouve = db.OpenRecordset("SELECT Etudiant.NomEtudiant,
Etudiant.Initiale FROM Etudiant WHERE Etudiant.Initiale Like" & "'Pa'",
dbOpenDynaset)
Salutations!
"Microsoft" <josette.martin@hdb-1823.com> a écrit dans le message de
news:uwchaQKjDHA.2644@TK2MSFTNGP10.phx.gbl...
Bonjour,
Dans un fichier XLS, j'ai une liste de numéro sur une feuille.
J'aimerai importer d'une table SQL, des enregistrements en faisant la
sélection sur la liste de numéro de ma feuille
Comment faire ?
Merci à ceux ou celles qui pourront m'aider
JoMa
Bonjour Josette,
Voici une procédure qui va mettre à jour tes données de la feuille au fur
et à mesure que tu entres tes données (ou
modifie) sur une plage définie . En fonction des résultats de la
recherche, des informations sont extraites de la base
de donnée (access dans l'exemple) pour être inscrit dans la feuille de
calcul. Selon tes besoins, il y moyen de modifier
cette procédure pour en faire une boucle sur une plage de données...
Tu dois ajouter à ton projet la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
à insérer dans le module feuille où l'action se déroule.
'----------------------------------------------
Sub RechercherDataAccessPourExcel
Dim MyRange As Range
Set MyRange = Range("A1:A25")
If Union(Target, MyRange).Address = MyRange.Address Then
Dim db As Database
Dim RstTrouve As Recordset
Dim Chaine As String
Set db = OpenDatabase("C:LotusMes Documentsbd2.mdb")
Set RstTrouve = db.OpenRecordset("Etudiant", dbOpenDynaset)
RstTrouve.MoveLast
RstTrouve.MoveFirst
Chaine = Trim(Target.Value)
Application.EnableEvents = False
With RstTrouve
.FindFirst "[NomEtudiant] = " & Chr(34) & Chaine & Chr(34)
If .NoMatch = False Then
Target.Offset(, 1) = RstTrouve(2)
Target.Offset(, 2) = RstTrouve(3)
Target.Offset(, 3) = RstTrouve(4)
Target.Offset(, 3) = RstTrouve(5)
End If
End With
Set db = Nothing
Set RstTrouve = Nothing
Application.EnableEvents = True
End If
End sub
'----------------------------------------------
Au lieu d'ouvrir une table, tu peux aussi utiliser une requête dont voici
un exemple à inclure dans la procédure le cas
échéant.
Syntaxe Pour une requête:
Set RstTrouve = db.OpenRecordset("SELECT Etudiant.NomEtudiant,
Etudiant.Initiale FROM Etudiant WHERE Etudiant.Initiale Like" & "'Pa'",
dbOpenDynaset)
Salutations!
"Microsoft" a écrit dans le message de
news:
Bonjour,
Dans un fichier XLS, j'ai une liste de numéro sur une feuille.
J'aimerai importer d'une table SQL, des enregistrements en faisant la
sélection sur la liste de numéro de ma feuille
Comment faire ?
Merci à ceux ou celles qui pourront m'aider
JoMa
Bonjour Josette,
Voici une procédure qui va mettre à jour tes données de la feuille au fur
et à mesure que tu entres tes données (ou
modifie) sur une plage définie . En fonction des résultats de la
recherche, des informations sont extraites de la base
de donnée (access dans l'exemple) pour être inscrit dans la feuille de
calcul. Selon tes besoins, il y moyen de modifier
cette procédure pour en faire une boucle sur une plage de données...
Tu dois ajouter à ton projet la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
à insérer dans le module feuille où l'action se déroule.
'----------------------------------------------
Sub RechercherDataAccessPourExcel
Dim MyRange As Range
Set MyRange = Range("A1:A25")
If Union(Target, MyRange).Address = MyRange.Address Then
Dim db As Database
Dim RstTrouve As Recordset
Dim Chaine As String
Set db = OpenDatabase("C:LotusMes Documentsbd2.mdb")
Set RstTrouve = db.OpenRecordset("Etudiant", dbOpenDynaset)
RstTrouve.MoveLast
RstTrouve.MoveFirst
Chaine = Trim(Target.Value)
Application.EnableEvents = False
With RstTrouve
.FindFirst "[NomEtudiant] = " & Chr(34) & Chaine & Chr(34)
If .NoMatch = False Then
Target.Offset(, 1) = RstTrouve(2)
Target.Offset(, 2) = RstTrouve(3)
Target.Offset(, 3) = RstTrouve(4)
Target.Offset(, 3) = RstTrouve(5)
End If
End With
Set db = Nothing
Set RstTrouve = Nothing
Application.EnableEvents = True
End If
End sub
'----------------------------------------------
Au lieu d'ouvrir une table, tu peux aussi utiliser une requête dont voici
un exemple à inclure dans la procédure le cas
échéant.
Syntaxe Pour une requête:
Set RstTrouve = db.OpenRecordset("SELECT Etudiant.NomEtudiant,
Etudiant.Initiale FROM Etudiant WHERE Etudiant.Initiale Like" & "'Pa'",
dbOpenDynaset)
Salutations!
"Microsoft" a écrit dans le message de
news:
Bonjour,
Dans un fichier XLS, j'ai une liste de numéro sur une feuille.
J'aimerai importer d'une table SQL, des enregistrements en faisant la
sélection sur la liste de numéro de ma feuille
Comment faire ?
Merci à ceux ou celles qui pourront m'aider
JoMa
Bonjour Josette,
Voici une procédure qui va mettre à jour tes données de la feuille au fur
et à mesure que tu entres tes données (ou
modifie) sur une plage définie . En fonction des résultats de la
recherche, des informations sont extraites de la base
de donnée (access dans l'exemple) pour être inscrit dans la feuille de
calcul. Selon tes besoins, il y moyen de modifier
cette procédure pour en faire une boucle sur une plage de données...
Tu dois ajouter à ton projet la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
à insérer dans le module feuille où l'action se déroule.
'----------------------------------------------
Sub RechercherDataAccessPourExcel
Dim MyRange As Range
Set MyRange = Range("A1:A25")
If Union(Target, MyRange).Address = MyRange.Address Then
Dim db As Database
Dim RstTrouve As Recordset
Dim Chaine As String
Set db = OpenDatabase("C:LotusMes Documentsbd2.mdb")
Set RstTrouve = db.OpenRecordset("Etudiant", dbOpenDynaset)
RstTrouve.MoveLast
RstTrouve.MoveFirst
Chaine = Trim(Target.Value)
Application.EnableEvents = False
With RstTrouve
.FindFirst "[NomEtudiant] = " & Chr(34) & Chaine & Chr(34)
If .NoMatch = False Then
Target.Offset(, 1) = RstTrouve(2)
Target.Offset(, 2) = RstTrouve(3)
Target.Offset(, 3) = RstTrouve(4)
Target.Offset(, 3) = RstTrouve(5)
End If
End With
Set db = Nothing
Set RstTrouve = Nothing
Application.EnableEvents = True
End If
End sub
'----------------------------------------------
Au lieu d'ouvrir une table, tu peux aussi utiliser une requête dont voici
un exemple à inclure dans la procédure le cas
échéant.
Syntaxe Pour une requête:
Set RstTrouve = db.OpenRecordset("SELECT Etudiant.NomEtudiant,
Etudiant.Initiale FROM Etudiant WHERE Etudiant.Initiale Like" & "'Pa'",
dbOpenDynaset)
Salutations!
"Microsoft" <josette.martin@hdb-1823.com> a écrit dans le message de
news:uwchaQKjDHA.2644@TK2MSFTNGP10.phx.gbl...
Bonjour,
Dans un fichier XLS, j'ai une liste de numéro sur une feuille.
J'aimerai importer d'une table SQL, des enregistrements en faisant la
sélection sur la liste de numéro de ma feuille
Comment faire ?
Merci à ceux ou celles qui pourront m'aider
JoMa
Bonjour Josette,
Voici une procédure qui va mettre à jour tes données de la feuille au fur
et à mesure que tu entres tes données (ou
modifie) sur une plage définie . En fonction des résultats de la
recherche, des informations sont extraites de la base
de donnée (access dans l'exemple) pour être inscrit dans la feuille de
calcul. Selon tes besoins, il y moyen de modifier
cette procédure pour en faire une boucle sur une plage de données...
Tu dois ajouter à ton projet la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
à insérer dans le module feuille où l'action se déroule.
'----------------------------------------------
Sub RechercherDataAccessPourExcel
Dim MyRange As Range
Set MyRange = Range("A1:A25")
If Union(Target, MyRange).Address = MyRange.Address Then
Dim db As Database
Dim RstTrouve As Recordset
Dim Chaine As String
Set db = OpenDatabase("C:LotusMes Documentsbd2.mdb")
Set RstTrouve = db.OpenRecordset("Etudiant", dbOpenDynaset)
RstTrouve.MoveLast
RstTrouve.MoveFirst
Chaine = Trim(Target.Value)
Application.EnableEvents = False
With RstTrouve
.FindFirst "[NomEtudiant] = " & Chr(34) & Chaine & Chr(34)
If .NoMatch = False Then
Target.Offset(, 1) = RstTrouve(2)
Target.Offset(, 2) = RstTrouve(3)
Target.Offset(, 3) = RstTrouve(4)
Target.Offset(, 3) = RstTrouve(5)
End If
End With
Set db = Nothing
Set RstTrouve = Nothing
Application.EnableEvents = True
End If
End sub
'----------------------------------------------
Au lieu d'ouvrir une table, tu peux aussi utiliser une requête dont voici
un exemple à inclure dans la procédure le cas
échéant.
Syntaxe Pour une requête:
Set RstTrouve = db.OpenRecordset("SELECT Etudiant.NomEtudiant,
Etudiant.Initiale FROM Etudiant WHERE Etudiant.Initiale Like" & "'Pa'",
dbOpenDynaset)
Salutations!
"Microsoft" a écrit dans le message de
news:
Bonjour,
Dans un fichier XLS, j'ai une liste de numéro sur une feuille.
J'aimerai importer d'une table SQL, des enregistrements en faisant la
sélection sur la liste de numéro de ma feuille
Comment faire ?
Merci à ceux ou celles qui pourront m'aider
JoMa
Bonjour Josette,
Voici une procédure qui va mettre à jour tes données de la feuille au fur
et à mesure que tu entres tes données (ou
modifie) sur une plage définie . En fonction des résultats de la
recherche, des informations sont extraites de la base
de donnée (access dans l'exemple) pour être inscrit dans la feuille de
calcul. Selon tes besoins, il y moyen de modifier
cette procédure pour en faire une boucle sur une plage de données...
Tu dois ajouter à ton projet la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
à insérer dans le module feuille où l'action se déroule.
'----------------------------------------------
Sub RechercherDataAccessPourExcel
Dim MyRange As Range
Set MyRange = Range("A1:A25")
If Union(Target, MyRange).Address = MyRange.Address Then
Dim db As Database
Dim RstTrouve As Recordset
Dim Chaine As String
Set db = OpenDatabase("C:LotusMes Documentsbd2.mdb")
Set RstTrouve = db.OpenRecordset("Etudiant", dbOpenDynaset)
RstTrouve.MoveLast
RstTrouve.MoveFirst
Chaine = Trim(Target.Value)
Application.EnableEvents = False
With RstTrouve
.FindFirst "[NomEtudiant] = " & Chr(34) & Chaine & Chr(34)
If .NoMatch = False Then
Target.Offset(, 1) = RstTrouve(2)
Target.Offset(, 2) = RstTrouve(3)
Target.Offset(, 3) = RstTrouve(4)
Target.Offset(, 3) = RstTrouve(5)
End If
End With
Set db = Nothing
Set RstTrouve = Nothing
Application.EnableEvents = True
End If
End sub
'----------------------------------------------
Au lieu d'ouvrir une table, tu peux aussi utiliser une requête dont voici
un exemple à inclure dans la procédure le cas
échéant.
Syntaxe Pour une requête:
Set RstTrouve = db.OpenRecordset("SELECT Etudiant.NomEtudiant,
Etudiant.Initiale FROM Etudiant WHERE Etudiant.Initiale Like" & "'Pa'",
dbOpenDynaset)
Salutations!
"Microsoft" a écrit dans le message de
news:
Bonjour,
Dans un fichier XLS, j'ai une liste de numéro sur une feuille.
J'aimerai importer d'une table SQL, des enregistrements en faisant la
sélection sur la liste de numéro de ma feuille
Comment faire ?
Merci à ceux ou celles qui pourront m'aider
JoMa
Bonjour Josette,
Voici une procédure qui va mettre à jour tes données de la feuille au fur
et à mesure que tu entres tes données (ou
modifie) sur une plage définie . En fonction des résultats de la
recherche, des informations sont extraites de la base
de donnée (access dans l'exemple) pour être inscrit dans la feuille de
calcul. Selon tes besoins, il y moyen de modifier
cette procédure pour en faire une boucle sur une plage de données...
Tu dois ajouter à ton projet la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
à insérer dans le module feuille où l'action se déroule.
'----------------------------------------------
Sub RechercherDataAccessPourExcel
Dim MyRange As Range
Set MyRange = Range("A1:A25")
If Union(Target, MyRange).Address = MyRange.Address Then
Dim db As Database
Dim RstTrouve As Recordset
Dim Chaine As String
Set db = OpenDatabase("C:LotusMes Documentsbd2.mdb")
Set RstTrouve = db.OpenRecordset("Etudiant", dbOpenDynaset)
RstTrouve.MoveLast
RstTrouve.MoveFirst
Chaine = Trim(Target.Value)
Application.EnableEvents = False
With RstTrouve
.FindFirst "[NomEtudiant] = " & Chr(34) & Chaine & Chr(34)
If .NoMatch = False Then
Target.Offset(, 1) = RstTrouve(2)
Target.Offset(, 2) = RstTrouve(3)
Target.Offset(, 3) = RstTrouve(4)
Target.Offset(, 3) = RstTrouve(5)
End If
End With
Set db = Nothing
Set RstTrouve = Nothing
Application.EnableEvents = True
End If
End sub
'----------------------------------------------
Au lieu d'ouvrir une table, tu peux aussi utiliser une requête dont voici
un exemple à inclure dans la procédure le cas
échéant.
Syntaxe Pour une requête:
Set RstTrouve = db.OpenRecordset("SELECT Etudiant.NomEtudiant,
Etudiant.Initiale FROM Etudiant WHERE Etudiant.Initiale Like" & "'Pa'",
dbOpenDynaset)
Salutations!
"Microsoft" <josette.martin@hdb-1823.com> a écrit dans le message de
news:uwchaQKjDHA.2644@TK2MSFTNGP10.phx.gbl...
Bonjour,
Dans un fichier XLS, j'ai une liste de numéro sur une feuille.
J'aimerai importer d'une table SQL, des enregistrements en faisant la
sélection sur la liste de numéro de ma feuille
Comment faire ?
Merci à ceux ou celles qui pourront m'aider
JoMa
Bonjour Josette,
Voici une procédure qui va mettre à jour tes données de la feuille au fur
et à mesure que tu entres tes données (ou
modifie) sur une plage définie . En fonction des résultats de la
recherche, des informations sont extraites de la base
de donnée (access dans l'exemple) pour être inscrit dans la feuille de
calcul. Selon tes besoins, il y moyen de modifier
cette procédure pour en faire une boucle sur une plage de données...
Tu dois ajouter à ton projet la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
à insérer dans le module feuille où l'action se déroule.
'----------------------------------------------
Sub RechercherDataAccessPourExcel
Dim MyRange As Range
Set MyRange = Range("A1:A25")
If Union(Target, MyRange).Address = MyRange.Address Then
Dim db As Database
Dim RstTrouve As Recordset
Dim Chaine As String
Set db = OpenDatabase("C:LotusMes Documentsbd2.mdb")
Set RstTrouve = db.OpenRecordset("Etudiant", dbOpenDynaset)
RstTrouve.MoveLast
RstTrouve.MoveFirst
Chaine = Trim(Target.Value)
Application.EnableEvents = False
With RstTrouve
.FindFirst "[NomEtudiant] = " & Chr(34) & Chaine & Chr(34)
If .NoMatch = False Then
Target.Offset(, 1) = RstTrouve(2)
Target.Offset(, 2) = RstTrouve(3)
Target.Offset(, 3) = RstTrouve(4)
Target.Offset(, 3) = RstTrouve(5)
End If
End With
Set db = Nothing
Set RstTrouve = Nothing
Application.EnableEvents = True
End If
End sub
'----------------------------------------------
Au lieu d'ouvrir une table, tu peux aussi utiliser une requête dont voici
un exemple à inclure dans la procédure le cas
échéant.
Syntaxe Pour une requête:
Set RstTrouve = db.OpenRecordset("SELECT Etudiant.NomEtudiant,
Etudiant.Initiale FROM Etudiant WHERE Etudiant.Initiale Like" & "'Pa'",
dbOpenDynaset)
Salutations!
"Microsoft" a écrit dans le message de
news:
Bonjour,
Dans un fichier XLS, j'ai une liste de numéro sur une feuille.
J'aimerai importer d'une table SQL, des enregistrements en faisant la
sélection sur la liste de numéro de ma feuille
Comment faire ?
Merci à ceux ou celles qui pourront m'aider
JoMa
Bonjour Jim,
Lorsque ton fichier excel est ouvert, tu ouvres la fenêtre VBE (visual
basic editor) et à partir de la barre des menus
de cette fenêtre, dans le menu "Outils", tu cliques sur la commande
"Référence" et dans la fenêtre qui s'ouvrira, tu
cocheras la référence intitulée :
"Microsoft 3.5 ou 3.6 (selon la version d'excel) objects librairy"
Je n'ai jamais travaillé personnellement avec une base de données SQL, il
n'y a aucune restriction à utiliser ce type de
procédure avec une base SQL. Sauf que ce code tel qu'il est écrit peut
être problématique, si ta base de données sur
SQL possède des mesures de sécurité limitant son accès à des "utilisateurs
bien identifiés" avec mot de passe.
Salutations!
"Jm" a écrit dans le message de
news:
Ah j'oublie
est-il possible d'adapter cette macro pour utiliser une base de donnée SQL
et non access
"Denis Michon" a écrit dans le message de
news:HMxgb.117771$Bonjour Josette,
Voici une procédure qui va mettre à jour tes données de la feuille au
fur
et à mesure que tu entres tes données (oumodifie) sur une plage définie . En fonction des résultats de la
recherche, des informations sont extraites de la basede donnée (access dans l'exemple) pour être inscrit dans la feuille de
calcul. Selon tes besoins, il y moyen de modifiercette procédure pour en faire une boucle sur une plage de données...
Tu dois ajouter à ton projet la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
à insérer dans le module feuille où l'action se déroule.
'----------------------------------------------
Sub RechercherDataAccessPourExcel
Dim MyRange As Range
Set MyRange = Range("A1:A25")
If Union(Target, MyRange).Address = MyRange.Address Then
Dim db As Database
Dim RstTrouve As Recordset
Dim Chaine As String
Set db = OpenDatabase("C:LotusMes Documentsbd2.mdb")
Set RstTrouve = db.OpenRecordset("Etudiant", dbOpenDynaset)
RstTrouve.MoveLast
RstTrouve.MoveFirst
Chaine = Trim(Target.Value)
Application.EnableEvents = False
With RstTrouve
.FindFirst "[NomEtudiant] = " & Chr(34) & Chaine & Chr(34)
If .NoMatch = False Then
Target.Offset(, 1) = RstTrouve(2)
Target.Offset(, 2) = RstTrouve(3)
Target.Offset(, 3) = RstTrouve(4)
Target.Offset(, 3) = RstTrouve(5)
End If
End With
Set db = Nothing
Set RstTrouve = Nothing
Application.EnableEvents = True
End If
End sub
'----------------------------------------------
Au lieu d'ouvrir une table, tu peux aussi utiliser une requête dont
voici
un exemple à inclure dans la procédure le caséchéant.
Syntaxe Pour une requête:
Set RstTrouve = db.OpenRecordset("SELECT Etudiant.NomEtudiant,
Etudiant.Initiale FROM Etudiant WHERE Etudiant.Initiale Like" & "'Pa'",
dbOpenDynaset)
Salutations!
"Microsoft" a écrit dans le message de
news:Bonjour,
Dans un fichier XLS, j'ai une liste de numéro sur une feuille.
J'aimerai importer d'une table SQL, des enregistrements en faisant la
sélection sur la liste de numéro de ma feuille
Comment faire ?
Merci à ceux ou celles qui pourront m'aider
JoMa
Bonjour Jim,
Lorsque ton fichier excel est ouvert, tu ouvres la fenêtre VBE (visual
basic editor) et à partir de la barre des menus
de cette fenêtre, dans le menu "Outils", tu cliques sur la commande
"Référence" et dans la fenêtre qui s'ouvrira, tu
cocheras la référence intitulée :
"Microsoft 3.5 ou 3.6 (selon la version d'excel) objects librairy"
Je n'ai jamais travaillé personnellement avec une base de données SQL, il
n'y a aucune restriction à utiliser ce type de
procédure avec une base SQL. Sauf que ce code tel qu'il est écrit peut
être problématique, si ta base de données sur
SQL possède des mesures de sécurité limitant son accès à des "utilisateurs
bien identifiés" avec mot de passe.
Salutations!
"Jm" <josette.martin@hdb-1823.com> a écrit dans le message de
news:uPEd94MjDHA.2160@TK2MSFTNGP12.phx.gbl...
Ah j'oublie
est-il possible d'adapter cette macro pour utiliser une base de donnée SQL
et non access
"Denis Michon" <denis.michon@cgocable.ca> a écrit dans le message de
news:HMxgb.117771$C92.18672@charlie.risq.qc.ca...
Bonjour Josette,
Voici une procédure qui va mettre à jour tes données de la feuille au
fur
et à mesure que tu entres tes données (ou
modifie) sur une plage définie . En fonction des résultats de la
recherche, des informations sont extraites de la base
de donnée (access dans l'exemple) pour être inscrit dans la feuille de
calcul. Selon tes besoins, il y moyen de modifier
cette procédure pour en faire une boucle sur une plage de données...
Tu dois ajouter à ton projet la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
à insérer dans le module feuille où l'action se déroule.
'----------------------------------------------
Sub RechercherDataAccessPourExcel
Dim MyRange As Range
Set MyRange = Range("A1:A25")
If Union(Target, MyRange).Address = MyRange.Address Then
Dim db As Database
Dim RstTrouve As Recordset
Dim Chaine As String
Set db = OpenDatabase("C:LotusMes Documentsbd2.mdb")
Set RstTrouve = db.OpenRecordset("Etudiant", dbOpenDynaset)
RstTrouve.MoveLast
RstTrouve.MoveFirst
Chaine = Trim(Target.Value)
Application.EnableEvents = False
With RstTrouve
.FindFirst "[NomEtudiant] = " & Chr(34) & Chaine & Chr(34)
If .NoMatch = False Then
Target.Offset(, 1) = RstTrouve(2)
Target.Offset(, 2) = RstTrouve(3)
Target.Offset(, 3) = RstTrouve(4)
Target.Offset(, 3) = RstTrouve(5)
End If
End With
Set db = Nothing
Set RstTrouve = Nothing
Application.EnableEvents = True
End If
End sub
'----------------------------------------------
Au lieu d'ouvrir une table, tu peux aussi utiliser une requête dont
voici
un exemple à inclure dans la procédure le cas
échéant.
Syntaxe Pour une requête:
Set RstTrouve = db.OpenRecordset("SELECT Etudiant.NomEtudiant,
Etudiant.Initiale FROM Etudiant WHERE Etudiant.Initiale Like" & "'Pa'",
dbOpenDynaset)
Salutations!
"Microsoft" <josette.martin@hdb-1823.com> a écrit dans le message de
news:uwchaQKjDHA.2644@TK2MSFTNGP10.phx.gbl...
Bonjour,
Dans un fichier XLS, j'ai une liste de numéro sur une feuille.
J'aimerai importer d'une table SQL, des enregistrements en faisant la
sélection sur la liste de numéro de ma feuille
Comment faire ?
Merci à ceux ou celles qui pourront m'aider
JoMa
Bonjour Jim,
Lorsque ton fichier excel est ouvert, tu ouvres la fenêtre VBE (visual
basic editor) et à partir de la barre des menus
de cette fenêtre, dans le menu "Outils", tu cliques sur la commande
"Référence" et dans la fenêtre qui s'ouvrira, tu
cocheras la référence intitulée :
"Microsoft 3.5 ou 3.6 (selon la version d'excel) objects librairy"
Je n'ai jamais travaillé personnellement avec une base de données SQL, il
n'y a aucune restriction à utiliser ce type de
procédure avec une base SQL. Sauf que ce code tel qu'il est écrit peut
être problématique, si ta base de données sur
SQL possède des mesures de sécurité limitant son accès à des "utilisateurs
bien identifiés" avec mot de passe.
Salutations!
"Jm" a écrit dans le message de
news:
Ah j'oublie
est-il possible d'adapter cette macro pour utiliser une base de donnée SQL
et non access
"Denis Michon" a écrit dans le message de
news:HMxgb.117771$Bonjour Josette,
Voici une procédure qui va mettre à jour tes données de la feuille au
fur
et à mesure que tu entres tes données (oumodifie) sur une plage définie . En fonction des résultats de la
recherche, des informations sont extraites de la basede donnée (access dans l'exemple) pour être inscrit dans la feuille de
calcul. Selon tes besoins, il y moyen de modifiercette procédure pour en faire une boucle sur une plage de données...
Tu dois ajouter à ton projet la bibliothèque :
"Microsoft DAO 3.6 objects librairy"
à insérer dans le module feuille où l'action se déroule.
'----------------------------------------------
Sub RechercherDataAccessPourExcel
Dim MyRange As Range
Set MyRange = Range("A1:A25")
If Union(Target, MyRange).Address = MyRange.Address Then
Dim db As Database
Dim RstTrouve As Recordset
Dim Chaine As String
Set db = OpenDatabase("C:LotusMes Documentsbd2.mdb")
Set RstTrouve = db.OpenRecordset("Etudiant", dbOpenDynaset)
RstTrouve.MoveLast
RstTrouve.MoveFirst
Chaine = Trim(Target.Value)
Application.EnableEvents = False
With RstTrouve
.FindFirst "[NomEtudiant] = " & Chr(34) & Chaine & Chr(34)
If .NoMatch = False Then
Target.Offset(, 1) = RstTrouve(2)
Target.Offset(, 2) = RstTrouve(3)
Target.Offset(, 3) = RstTrouve(4)
Target.Offset(, 3) = RstTrouve(5)
End If
End With
Set db = Nothing
Set RstTrouve = Nothing
Application.EnableEvents = True
End If
End sub
'----------------------------------------------
Au lieu d'ouvrir une table, tu peux aussi utiliser une requête dont
voici
un exemple à inclure dans la procédure le caséchéant.
Syntaxe Pour une requête:
Set RstTrouve = db.OpenRecordset("SELECT Etudiant.NomEtudiant,
Etudiant.Initiale FROM Etudiant WHERE Etudiant.Initiale Like" & "'Pa'",
dbOpenDynaset)
Salutations!
"Microsoft" a écrit dans le message de
news:Bonjour,
Dans un fichier XLS, j'ai une liste de numéro sur une feuille.
J'aimerai importer d'une table SQL, des enregistrements en faisant la
sélection sur la liste de numéro de ma feuille
Comment faire ?
Merci à ceux ou celles qui pourront m'aider
JoMa