Erreur de compilation code VBA Access

rabihm Messages postés 15 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 1 avril 2011 - 10 juin 2009 à 09:19
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 12 juin 2009 à 12:50
Bonjour,
J'ai une erreur de compilation que je n'arrive pas à résoudre, étant presque débutant:

c'est pour la ligne de code suivante:

rs.Fields("Prenom") = ws.Range("A", deb)

D'où vient le problème?

C'est pour transférer le contenu d'une cellule d'une conlonne d'une feuille excel dans un champ d'une table Access. La fonction VBA est créée VIA Access.

Je vous remercie d'avance

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
10 juin 2009 à 09:29
Salut
Parce que la syntaxe de Range n'est pas correcte : Voir l'aide
   Range ("A1:B12")   ou   Range ("A1", "B12")
Si tu veux spécifier une colonne entière, c'est   
   Range ("A:B")   uniquement
Que représente ta variable 'deb' ?
Si c'est une colonne, essaye
   Range ("A:" & CStr(Deb))

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
10 juin 2009 à 09:30
Catégorie de la question modifiée .NET --> VBA
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
10 juin 2009 à 09:33
Au fait :
   rs.Fields("Prenom").Value
   Range("A1").Value
seraient plus propres

D'autre part, dans un champ, tu pourras mettre du texte ou un chiffre, selon sont type dans la DB, mais en aucun cas tu ne pourras mettre un ensemble de cellules.
Si tu dois donné une référence à une cellule, utilise Cells et pas Range
0
rabihm Messages postés 15 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 1 avril 2011
10 juin 2009 à 10:05
Merci à tout le monde pour vos réponses.
Mais le problème n'est toujours pas résolu.

A l'attention de jack :

J'ai mis les trois lignes de codes suivantes (juste pour tester) :

rs.AddNew
rs.Fields("Prenom").Value = Range("A1").Value
rs.Update

Quand je compile il m'affiche l'erreur suivante :
Erreur d'exécution '1004'
La méthode 'Range' de l'objet '_Global' a échoué

Quelle est l'origine du problème?

Les autres pourront répondre aussi s'ils le souhaitent
Je vous remercie d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
12 juin 2009 à 12:50
ws
.Range
Range doit toujours être associé à un objet existant
0
Rejoignez-nous