Re : Chargement USF pour modification
JorisPhi
tu peux employer ce code(testé et ok)
'importer le contenu d'une feuille de calcul d'un classeur fermé
'seules les données sont importées, pas les mises en forme
'valeurs numériques ?
'Nécessite une référence à Microsoft ActiveX Data Objects 2.x Library
'menu outils,choisir références,le x est un chiffre prendre le plus haut existant dans la liste
'si à la demande un bouton avec comme code le contenu de testQuery
'si à chaque lancement de l'userform,mettre dans initialize testQuery ou le contenu de testQuery
Sub testQuery()
fich$ = "F:\Journal de classe (Modèle)\BASE DE DONNEES(Modèle).xls"
Feuille$ = "Création"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil3.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
à bientôt