comment détecter une chaine de caractere vide

  • Initiateur de la discussion fahd
  • Date de début
F

fahd

Guest
salut les gents du forum
au fait je voulais savoir est ce k'il n'y a pas une fonction vba, ki permet de savoir si une chaine de caractere est composé que d'espace, ex Machaine = " ",
merci
pour ne pas tomber ds la confusion, je ne cherche pas savoir si ma chaine est vide ou non (ex Machaine = "") mais plutot comme l'exemple precedent : Machaine = " "
merci
 
S

sousou

Guest
a ma connaissance pas de fonction traitant précisément ce problème,

Il suffit de regarder chaque caractère de lachaine si un est différent...

Exemple:
nb=len(machaine)
for i=1 to nb
if mid(machaine,i,1)<>" " then
msgbox "il n'ya pas que des espaces"
exit sub
end if
next



J'écris ces lignes sans vérifier quelles fonctionnent mais c'est le principe.
 
T

Ti

Guest
Voici une fonction qui fait ce test simplement. Elle te renvoie VRAI s'il n'y a que des espaces, faux sinon

ex : msgbox testchaine(" ")

Function TestChaine(Chaine As String) As Boolean
TestChaine = Chaine = String(Len(Chaine), " ")
End Function
 
A

A_binouze_drinker_among_others

Guest
bonjour

j'ai concocté cela sur la base de la formule suivante pour compter le nombre de A : =NBCAR(A1)-NBCAR(SUBSTITUE(A1;"A";""))

Sub d()

'pour les espaces
test = "LEN(""" & [A2].Text & """)-LEN(SUBSTITUTE(""" & [A2].Text & ""","" "",""""))"
If Evaluate(test) = Len([A2]) Then MsgBox "il n'y a que des espaces dans A2"





'MsgBox Len([A1]) - Len(Application.WorksheetFunction([A1].Text, "A", ""))
'test = "LEN(""" & [A1].Text & """)-LEN(SUBSTITUTE(""" & [A1].Text & """,""A"",""""))"
'MsgBox Evaluate(test)

End Sub

j'ai trouvé autre chose chez fred sigonneau
<http://perso.wanadoo.fr/frederic.sigonneau/code/Fonctions/NombreDeLettres.txt>
 
P

Pyrof

Guest
Bonjour à tous

avec un peu de retard

voir la fonction instr(chaine," ") qui donne la position de l'espace dans la chaine

replace(chaine1,chaine2,chaine3) remplace dans la chaine1 le texte de la chaine2 par la chaine3

pour savoir si la chaine ne contient que des espaces :


if len(replace(chaine," ","") ) =0 then
 

Discussions similaires

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 184
dernier inscrit
amiko