OVH Cloud OVH Cloud

Problème range

5 réponses
Avatar
lolo
Bonjour =E0 tous

Voila j'ai ce code :


Set MyDB =3D OpenDatabase("S:\Qualit=E9\BDD Qualit=E9\BDD Qualit=E9.mdb")
Set MyTable =3D MyDB.OpenRecordset("test")
Set Sh =3D Worksheets("Feuil1")
With Sh
For Each r In .Range("A5:C300").Rows
With MyTable
.AddNew
!Ordre =3D Sh.Cells(r.Row, 1)
!article =3D Sh.Cells(r.Row, 2)
!Quantit=E9 =3D Sh.Cells(r.Row, 3)
.Update
End With
Next
End With
Set MyDB =3D Nothing: Set MyTable =3D Nothing: Set Sh =3D Nothing
End Sub

Voila j'exporte des donn=E9es SAP dont le nombre de ligne peux varier...

Vous pouvez voir dans le code qu'a un moment j'ai range A5:C300. D=E8s
fois j'ai presque 500 lignes et le probl=E8me qui intervient c'est que
toutes les donn=E9es ne sont pas exporter...

Y'a t'il un moyen de pouvoir modifier ce A5:C300 en par exemple A5:C500
?
J'ai un user form qui me permet d'executer la macro d'export de
donn=E9es je voudrais pouvoir mettre aussi un champ me permettant de
mettre le nombre de ligne exacte =E0 exporter afin de ne pas avoir de
lignes vides dans ma table access...

Est ce possible si oui comment ?

pouvez vous m'aidez ?

Merci beaucoup=20

A+

5 réponses

Avatar
RGI
il suffit de trouver la première ligne vide

avec la formule de AV

MsgBox "première ligne vide : " & [A:C].Find("*", , xlFormulas, ,
xlByRows, xlPrevious).Row + 1

Salutations

RGI

Bonjour à tous

Voila j'ai ce code :


Set MyDB = OpenDatabase("S:QualitéBDD QualitéBDD Qualité.mdb")
Set MyTable = MyDB.OpenRecordset("test")
Set Sh = Worksheets("Feuil1")
With Sh
For Each r In .Range("A5:C300").Rows
With MyTable
.AddNew
!Ordre = Sh.Cells(r.Row, 1)
!article = Sh.Cells(r.Row, 2)
!Quantité = Sh.Cells(r.Row, 3)
.Update
End With
Next
End With
Set MyDB = Nothing: Set MyTable = Nothing: Set Sh = Nothing
End Sub

Voila j'exporte des données SAP dont le nombre de ligne peux varier...

Vous pouvez voir dans le code qu'a un moment j'ai range A5:C300. Dès
fois j'ai presque 500 lignes et le problème qui intervient c'est que
toutes les données ne sont pas exporter...

Y'a t'il un moyen de pouvoir modifier ce A5:C300 en par exemple A5:C500
?
J'ai un user form qui me permet d'executer la macro d'export de
données je voudrais pouvoir mettre aussi un champ me permettant de
mettre le nombre de ligne exacte à exporter afin de ne pas avoir de
lignes vides dans ma table access...

Est ce possible si oui comment ?

pouvez vous m'aidez ?

Merci beaucoup

A+




Avatar
lolo
Salut,

Merci beaucoup pour ton aide mais vu que je suis novice en VB je ne
sais pas où placer cette formule que tu me donnes...

Merci beaucoup de ton aide

A +
Avatar
papou
Bonjour
Set MyDB = OpenDatabase("S:QualitéBDD QualitéBDD Qualité.mdb")
Set MyTable = MyDB.OpenRecordset("test")
Set Sh = Worksheets("Feuil1")
With Sh
Dim DernLig&
DernLig = [A:C].Find("*", , xlFormulas, , xlByRows, xlPrevious).Row
For Each r In .Range("A5:C" & DernLig).Rows
With MyTable
.AddNew
!Ordre = Sh.Cells(r.Row, 1)
!article = Sh.Cells(r.Row, 2)
!Quantité = Sh.Cells(r.Row, 3)
.Update
End With
Next
End With
Set MyDB = Nothing: Set MyTable = Nothing: Set Sh = Nothing


"lolo" a écrit dans le message de news:

Salut,

Merci beaucoup pour ton aide mais vu que je suis novice en VB je ne
sais pas où placer cette formule que tu me donnes...

Merci beaucoup de ton aide

A +
Avatar
RGI
Merci Papou

Salutations

RGI

Bonjour
Set MyDB = OpenDatabase("S:QualitéBDD QualitéBDD Qualité.mdb")
Set MyTable = MyDB.OpenRecordset("test")
Set Sh = Worksheets("Feuil1")
With Sh
Dim DernLig&
DernLig = [A:C].Find("*", , xlFormulas, , xlByRows, xlPrevious).Row
For Each r In .Range("A5:C" & DernLig).Rows
With MyTable
.AddNew
!Ordre = Sh.Cells(r.Row, 1)
!article = Sh.Cells(r.Row, 2)
!Quantité = Sh.Cells(r.Row, 3)
.Update
End With
Next
End With
Set MyDB = Nothing: Set MyTable = Nothing: Set Sh = Nothing


"lolo" a écrit dans le message de news:

Salut,

Merci beaucoup pour ton aide mais vu que je suis novice en VB je ne
sais pas où placer cette formule que tu me donnes...

Merci beaucoup de ton aide

A +





Avatar
lolo
Ok

Merci pour l'aide

je test immédiatement !

A+