VBA et Excel

dirtu -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
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

2 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. dirtu
       
      Merci ça marche parfaitement (il manquait juste les parenthèses) mais la syntaxe n'est vraiment pas aisée...
      Bonne journée
      0
    2. dirtu
       
      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
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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