Le grand vide

Le
Jacquouille
Bonjour

En VBA, peut-on considérer que ISEMPTY(x) soit l'équivalent de "" ?
Etre vide, est-ce la même chose que contenir ""(rien) ?

Déjà merci
Bonne fin de journée.

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel__D
Le #26517227
Bonjour,
Le 23/05/2019 à 15:23, Jacquouille a écrit :
Bonjour
En VBA, peut-on considérer que ISEMPTY(x) soit l'équivalent de "" ?
Etre vide, est-ce la même chose que contenir ""(rien) ?

Dans la doc, il parle de variable initialisée ou pas,
donc a priori la valeur "" signifierai que la variable est initialisée sur ""
MichD
Le #26517231
Bonjour,
Un petit exemple, 3 procédures presque identiques. La seule différence
est le type de la variable S. À moins que la variable S soit déclarée
"AS Variant", dans tous les autres cas, IsEmpty(A) est faux. Une
variable de type Variant peut-être n'importe quoi, un nombre, un texte,
un tableau (array) ou un objet (Range, Worksheet, workbook).
Une variable de type String contient "" donc pas vide.
Une variable de type Long ou integer... contient 0 donc pas vide
Une variable de type "Variant" peut être "" ou 0 jusqu'au moment où
l'usager lui attribuera une valeur, par conséquent elle est vide.
'------------------
Sub test1()
Dim S As String
A = S
MsgBox IsEmpty(A)
End Sub
'------------------
Sub test2()
Dim S As Long
A = S
MsgBox IsEmpty(A)
End Sub
'------------------
Sub test3()
Dim S As Variant
A = S
MsgBox IsEmpty(A)
End Sub
'------------------
Sub test4()
Dim S As Variant, B()
A = B()
MsgBox IsEmpty(A)
End Sub
'------------------
MichD
Jacquouille
Le #26517254
Bonjour
Oufti, ça va pas alléger mon neurone, cette démo.
Pas facile à décortiquer, mais on essaie.
Que veulent dire les () dans ton expression: A = B() ?
Bonne journée.
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
qc6l36$hp6$
Bonjour,
Un petit exemple, 3 procédures presque identiques. La seule différence
est le type de la variable S. À moins que la variable S soit déclarée
"AS Variant", dans tous les autres cas, IsEmpty(A) est faux. Une
variable de type Variant peut-être n'importe quoi, un nombre, un texte,
un tableau (array) ou un objet (Range, Worksheet, workbook).
Une variable de type String contient "" donc pas vide.
Une variable de type Long ou integer... contient 0 donc pas vide
Une variable de type "Variant" peut être "" ou 0 jusqu'au moment où
l'usager lui attribuera une valeur, par conséquent elle est vide.
'------------------
Sub test1()
Dim S As String
A = S
MsgBox IsEmpty(A)
End Sub
'------------------
Sub test2()
Dim S As Long
A = S
MsgBox IsEmpty(A)
End Sub
'------------------
Sub test3()
Dim S As Variant
A = S
MsgBox IsEmpty(A)
End Sub
'------------------
Sub test4()
Dim S As Variant, B()
A = B()
MsgBox IsEmpty(A)
End Sub
'------------------
MichD
MichD
Le #26517263
Dans cette ligne de code :
Dim S As Variant, B()
B() c'est la manière de déclarer une variable "Tableau -array". Comme
cette ligne débute par DIM, on n’est pas tenu d'écrire Dim pour chacune
des variables. Ce serait différent si chacune des variables S et B()
étaient déclarés sur chacune leur ligne.
On peut ajouter selon le contenu qu'aura le tableau,
dim B() As String OU As Long ... lorsque le type n'est pas défini
expressément, on suppose que B() as Variant.
MichD
Jacquouille
Le #26517281
Merci Denis
Plus j'en apprends sur Excel, plus je constate le "grand vide - empty" dans
mon cerveau.
Je crois que je n'arriverai jamais à boucher tous les trous.... -))
Et dire que je suis toujours en 2003. (2019-2003. Plus que 16 versions à
apprendre)
Bonne fin de journée, et de semaine dans la bonne humeur.
https://www.youtube.com/watch?v=Gl8AFljtG7U
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
qc8ga4$ki3$
Dans cette ligne de code :
Dim S As Variant, B()
B() c'est la manière de déclarer une variable "Tableau -array". Comme
cette ligne débute par DIM, on n’est pas tenu d'écrire Dim pour chacune
des variables. Ce serait différent si chacune des variables S et B()
étaient déclarés sur chacune leur ligne.
On peut ajouter selon le contenu qu'aura le tableau,
dim B() As String OU As Long ... lorsque le type n'est pas défini
expressément, on suppose que B() as Variant.
MichD
Publicité
Poster une réponse
Anonyme