Remplir 2 tables d'acces/excel VBA

Signaler
Messages postés
10
Date d'inscription
mardi 17 avril 2012
Statut
Membre
Dernière intervention
21 mai 2012
-
Messages postés
10
Date d'inscription
mardi 17 avril 2012
Statut
Membre
Dernière intervention
21 mai 2012
-
Bonjour !

Voilà mon pb:

J'ai 2 tables ds ma base de données access : COMMANDE (cle primaire Num_ref) ET FOURNISSEUR (clé primaire Nom_ent et clé étrangère Num_ref)

J'ai fait un code permettant d'enregistrer des valeurs dans ces 2 tables d'ACCESS via EXCEL par un bouton de macro et par une requête.

Cependant, les enregistrements pour la table COMMANDE se fait à merveille mais pour la table FOURNISSEUR pas du tt. J'aimerais comprendre.

Voici mon code :

For ligne = 20 To 32
If Val(Feuil1.Cells(ligne, 1)) > 0 Then

objRS.AddNew 'ajoute à la table

'TABLE COMMANDE
objRS("Num_ref").Value = Feuil1.Cells(11, 3)
objRS("Num_ligne").Value = Feuil1.Cells(ligne, 1)
objRS("Qte_pdt").Value = Feuil1.Cells(ligne, 2)
objRS("Libelle_pdt").Value = Feuil1.Cells(ligne, 3)
objRS("Ref_pdt").Value = Feuil1.Cells(ligne, 4)
objRS("Num_aff").Value = Feuil1.Cells(ligne, 5)
objRS("P_U").Value = Feuil1.Cells(ligne, 6)

' TABLE FOURNISSEUR
' objRS("Nom_Ent").Value = Feuil1.Nom_Ent.Text
' objRS("Ad_ent").Value = Feuil1.Cells(3, 5)
' objRS("Nom_FRN").Value = Feuil1.Cells(4, 5)
' objRS("Tel_FRN").Value = Feuil1.Cells(5, 5)
' objRS("Mail_FRN").Value = Feuil1.Cells(6, 5)
objRS.Update 'ecriture ds la table
End If
Next


J'espère que vous avez compris !!
Merci bcp

3 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
Bonjour,
Tu développes donc sous VBA et non sous VB.Net (la présente section).
Cette discussion aurait dû être ouverte dans la section Langages dérivés > VBA (qui n'a rien à voir avec VB.Net). Prends dorénavant ce soin, s'il te plait, comme celui de présenter tes bouts de code entre balises code (3ème icône en partant de la droite).
C'est nécessaire. Ce n'est ni un luxe, ni une option.

Pour ton problème.
On ne voit nulle part dans ton code où et comment est défini objRS, tant pour l'ajout dans la table COMMANDE que pour celui dans la table FOURNISSEUR.

Je me demande d'ailleurs comment la partie mise en commentaires aurait pu ne pas provoquer un message d'erreur (dont tu ne dis pas le moindre mot).


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
30 octobre 2013
3
Tu ne peut pas utiliser objRS pour tes deux tables.

Tu dois avoir un pour commande et un fournisseur, pour en définitif avoir un code du style

'TABLE COMMANDE
objRS("Num_ref").Value = Feuil1.Cells(11, 3)
objRS("Num_ligne").Value = Feuil1.Cells(ligne, 1)
objRS("Qte_pdt").Value = Feuil1.Cells(ligne, 2)
objRS("Libelle_pdt").Value = Feuil1.Cells(ligne, 3)
objRS("Ref_pdt").Value = Feuil1.Cells(ligne, 4)
objRS("Num_aff").Value = Feuil1.Cells(ligne, 5)
objRS("P_U").Value = Feuil1.Cells(ligne, 6)
objRS.Update 'ecriture ds la table

' TABLE FOURNISSEUR
objRS2("Nom_Ent").Value = Feuil1.Nom_Ent.Text
objRS2("Ad_ent").Value = Feuil1.Cells(3, 5)
objRS2("Nom_FRN").Value = Feuil1.Cells(4, 5)
objRS2("Tel_FRN").Value = Feuil1.Cells(5, 5)
objRS2("Mail_FRN").Value = Feuil1.Cells(6, 5)
objRS2.Update 'ecriture ds la table
End If 


Comme dit ucfoutu tu dois définir ton deuxième objRS
Messages postés
10
Date d'inscription
mardi 17 avril 2012
Statut
Membre
Dernière intervention
21 mai 2012

d'accord merci bcp !