[VBA] Savoir si un champ Access est vide pour supprimer des lignes Excel

beegees

XLDnaute Occasionnel
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
 

RENAUDER

Nous a quitté
Repose en paix
Re : [VBA] Savoir si un champ Access est vide pour supprimer des lignes Excel

Bonjour,

Le IsEmpty ne parait pas toujours facile à utiliser.
Je dis peut-être une bétise mais ça mérite d'être essayé

If (rst![Champ])="" Then
 

beegees

XLDnaute Occasionnel
Re : [VBA] Savoir si un champ Access est vide pour supprimer des lignes Excel

Bonjour,

Le IsEmpty ne parait pas toujours facile à utiliser.
Je dis peut-être une bétise mais ça mérite d'être essayé

If (rst![Champ])="" Then

Bonjour Eric,

Merci pour ta réponse.

Tu ne dis pas du tout de bétise.

J'ai déjà essayé ce que tu me proposes, c'est d'ailleurs ce que j'avais essayé en premier.

Par contre, je pense avoir trouvé.

Si j'utilise IsNull ça fonctionne.

Merci encore pour ta réponse et bonne journée.

beegees
 

Statistiques des forums

Discussions
312 211
Messages
2 086 289
Membres
103 170
dernier inscrit
HASSEN@45