Comment exprimer la condition "si la valeur n'est pas vide" dans le langage VBA? Est-ce quelque chose comme ça?
"if value is not empty then..."
Edit/Delete Message
Utilisez Not IsEmpty()
.
Par exemple:
Sub DoStuffIfNotEmpty()
If Not IsEmpty(ActiveCell.Value) Then
MsgBox "I'm not empty!"
End If
End Sub
Cela dépend de ce que vous voulez tester:
If strName = vbNullString
ou IF strName = ""
ou Len(strName) = 0
(le dernier étant censé être plus rapide)If myObject is Nothing
If isnull(rs!myField)
If range("B3") = ""
ou IsEmpty(myRange)
Etc ... Discussion approfondie disponible ici (pour Access, mais la plupart fonctionne également pour Excel).
Essaye ça:
If Len(vValue & vbNullString) > 0 Then
' we have a non-Null and non-empty String value
doSomething()
Else
' We have a Null or empty string value
doSomethingElse()
End If
Pourquoi ne pas simplement utiliser la fonction intégrée Format ()?
Dim vTest As Variant
vTest = Empty ' or vTest = null or vTest = ""
If Format(vTest) = vbNullString Then
doSomethingWhenEmpty()
Else
doSomethingElse()
End If
Format () attirera les variantes vides et nulles et les transformera en chaînes. Je l'utilise pour des choses comme les validations nulles/vides et pour vérifier si un élément a été sélectionné dans une liste déroulante.
Je ne sais pas si c'est ce que vous cherchez
if var<>"" then
dosomething
ou
if isempty(thisworkbook.sheets("sheet1").range("a1").value)= false then
la fonction ISEMPTY peut également être utilisée
La suggestion d'Alexphi est bonne. Vous pouvez également coder ceci en créant d'abord une variable sous la forme Variant
, puis en l'attribuant à Empty
. Ensuite, faites un if/then avec pour éventuellement le remplir. S'il est rempli, ce n'est pas vide, sinon, il reste vide. Vous vérifiez cela alors avec IsEmpty
.
Sub TestforEmpty()
Dim dt As Variant
dt = Empty
Dim today As Date
today = Date
If today = Date Then
dt = today
End If
If IsEmpty(dt) Then
MsgBox "It not is today"
Else
MsgBox "It is today"
End If
End Sub