Bonjour,
J'ai une macro VBA qui me permet d'aller lire un compteur dans une base access.
Je souhaiterai la modifier pour introduire une variable dans ce code. j'aimerai changer la sélection sur 'Facture' et la remplacer par une variable. je supprimerai par la même occasion la condition "if then..... else...."
Voici le code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Sub lcpt()
' Dim enr As Recordset, base As Database
Dim chemin As String
chemin = "O:\facture openspace\OpenSpace.accdb"
Set base = DBEngine.OpenDatabase(chemin)
If ActiveSheet.Range("TypePiece") = "Facture" Then
Set enr = base.OpenRecordset("SELECT cpt.code , cpt.libelle , cpt.vn , cpt.va from cpt where cpt.libelle = 'Facture'", dbOpenDynaset)
Else
Set enr = base.OpenRecordset("SELECT cpt.code , cpt.libelle , cpt.vn , cpt.va from cpt where cpt.libelle ='Avoir' ", dbOpenDynaset)
End If
ActiveSheet.Range("NPiece").Value = (enr.Fields("va").Value) & Format((enr.Fields("vn").Value + 1), "000")
ActiveSheet.Range("Dt").Value = Format(Date, "mm/dd/yyyy")
enr.Close
base.Close
Set enr = Nothing
Set base = Nothing
End Sub |
Quand je modifie, j'ai une erreur de syntaxe
vtp est déclarée en string et lui affecte une valeur
Set enr = base.OpenRecordset("SELECT cpt.code , cpt.libelle , cpt.vn , cpt.va from cpt where cpt.libelle = vtp ", dbOpenDynaset)
Merci pour votre aide....
Partager