VBA et Excel

Fermé
dirtu - 27 avril 2009 à 13:10
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 29 avril 2009 à 10:53
Bonjour,

Je voudrais insérer la valeur d'une cellule dans une base access. Pour cela j'utilise ce code :

Sub ConnectDB(ByRef cnx As ADODB.Connection, ByVal strPath As String)

Dim res$
res = Range("B1")
cnx.Provider = "Microsoft.Jet.Oledb.4.0"
cnx.ConnectionString = strPath
cnx.Open

Set rs = cnx.Execute("Insert into Essai (F1)Values (1)")
cnx.Execute strSQL

End Sub

Je voudrais maintenant remplacer le "1" par la valeur de B1.
Quelle est la méthode pour y arriver? (res $, & res, 'res $'...)
Merci d'avance
A voir également:

2 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 302
27 avril 2009 à 14:07
bonjour
"Insert into Essai (F1)Values '" & res & "';"
'"" écrire apostrophe puis guillemet "à lentrée"
l'inverse à la sortie
le ; n'est pas obligatoire mais on voit mieux...
1
Merci ça marche parfaitement (il manquait juste les parenthèses) mais la syntaxe n'est vraiment pas aisée...
Bonne journée
0
Encore une petite question,
Toujours avec le même code je me demande si il est possible d'utiliser res1 = Range("B2") en précisant dans quelle feuille se situe la cellule?
Cordialement
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 302
29 avril 2009 à 10:53
Bonjour

no problems

res= Worsheets("nomdela feuille").range("B2")
OU
res= sheets("nomde ta feuille").range ("B2")

Si tu tu utilises plusieurs cellules de la feuille
with sheets("nomde ta feuille")
res=.range("B2")
machin=.range("B3")
end with
n'oublies pas les points devant range
0