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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| Option Explicit
Sub copie_fichier_ferme()
Dim cnn, rs
Dim test, Feuille, mavar, mavar01, mavar02, mavar03, maligne
'pour ceux qui ne veulent pas ouvrir les fichiers, ce que je comprends
'titres des colonnes de la feuille de fichiercible : nom,numero,cp,ville,
'nom = nom avec des espaces, numero = 0 à 1000000, cp = 0 à 100000, ville = ville avec des espaces
'quand la cellule cible est un texte c'est bon, mais pas si c'est un nombre
mavar02 = 1 ' 88888 = nombre "77777" = texte "code77777" = texte
Feuille = "Feuil1$"
test = "oui"
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};ReadOnly=1;DBQ=" & _
ThisWorkbook.Path & "\" & "fichiercible"
'si la recherche se fait sur numero
' il y a le message d'erreur suivant :
' erreur d'exécution -2147217913 (80040e07)
' type de données incompatible dans l'expression du critère
Set rs = cnn.Execute("SELECT nom,numero,cp,ville FROM MaBD WHERE cp='" & mavar02 & "'")
'si la recherche se fait sur cp
'quand la recherche sur la cellule cible est un texte c'est bon,
'mais si c'est un nombre, il y a le message suivant :
' erreur d'exécution 3021
' BOF ou EOF est égal à True.....
'sur la ligne "mavar = rs("nom")"
'pour vérification
mavar = rs("nom")
mavar01 = rs("numéro")
mavar02 = rs("cp")
mavar03 = rs("ville")
' modification des cellules
' ne fonctionne pas
' rs("nom") = "La lumière"
' rs("ville") = "Paris"
' recherche de l'adresse de la cellule cible
' ne fonctionne pas
'maligne = rs.Address ou rs.Row
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
End Sub |
Partager