Bonjour tout le monde,
Je transfère des données de Access vers Excel avec VBA.
Set appexcel = CreateObject("Excel.Application")
appexcel.Visible = True
Set wbexcel = appexcel.Workbooks.Open("path", ReadOnly:=True)
'appexcel.Application.ScreenUpdating = False
ValSQL = "SELECT * FROM [rqt] Where [nbAnnee] = '3' ORDER BY [Nom]"
Set bds = CurrentDb
Set rst = bds.OpenRecordset(ValSQL)
rst.MoveFirst
J'utilise alors rst![NomDuChampsDeLaRequete] pour placer les données dans les différentes cellules d'excel.
Par contre, ce que je ne sais pas faire c'est ceci :
Savoir si un champ Access est vide ou pas.
Pour cela, j'ai fais ceci :
If IsEmpty(rst![Champ]) Then
appexcel.Rows("s:s").Select
appexcel.Rows("s:s").Delete
End If
ça ne fonctionne pas, le test if agit comme-ci le champ était non vide alors qu'il est bien vide.
Il passe donc à l'instruction suivant le End If.
Je ne peux pas non plus faire
Dim Taille as integer
Taille = len(rst![Champ])
Merci d'avance pour votre aide.
beegees
Je transfère des données de Access vers Excel avec VBA.
Set appexcel = CreateObject("Excel.Application")
appexcel.Visible = True
Set wbexcel = appexcel.Workbooks.Open("path", ReadOnly:=True)
'appexcel.Application.ScreenUpdating = False
ValSQL = "SELECT * FROM [rqt] Where [nbAnnee] = '3' ORDER BY [Nom]"
Set bds = CurrentDb
Set rst = bds.OpenRecordset(ValSQL)
rst.MoveFirst
J'utilise alors rst![NomDuChampsDeLaRequete] pour placer les données dans les différentes cellules d'excel.
Par contre, ce que je ne sais pas faire c'est ceci :
Savoir si un champ Access est vide ou pas.
Pour cela, j'ai fais ceci :
If IsEmpty(rst![Champ]) Then
appexcel.Rows("s:s").Select
appexcel.Rows("s:s").Delete
End If
ça ne fonctionne pas, le test if agit comme-ci le champ était non vide alors qu'il est bien vide.
Il passe donc à l'instruction suivant le End If.
Je ne peux pas non plus faire
Dim Taille as integer
Taille = len(rst![Champ])
Merci d'avance pour votre aide.
beegees