comment détecter une chaine de caractere vide

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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.
 
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
 
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>
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
495
Retour