• Initiateur de la discussion Initiateur de la discussion VinceNC
  • 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 !

VinceNC

XLDnaute Nouveau
Bonjour à tous,

VB commence doucement à rentrer mais j'ai encore du chemin à faire.

J'ai récemment eu un problème que j'ai contourné mais j'aimerais avoir vos éclaircissement sur la question. Je m'explique :

Dans une Userform, une macro vérifie que tous les champs sont renseignés, sinon on affiche un message d'alerte.
J'ai fait une boucle FOR/NEXT qui vérifie donc chaque case et qui incrémente de 1 selon le test suivant :
If IsEmpty (Textboxi) then compteur=compteur+1

Jusque là, rien d'exceptionnel. Pour que se soit plus simple, j'ai reproduit le tout dans le fichier en PJ.

Là où se pose le problème c'est que même si la textbox testée est renseignée, le compteur est incrémenté.
J'ai testé plusieurs synthaxes sans grand succès. Je soupçonne le TextBoxi de faire planter. A moins qu'une TextBox non renseignée ne renvoie pas un champ vide... ?

D'où 2 questions (soit 1 de trop !😱):
1. Pouvez vous me dire pourquoi ça ne marchait pas
2. Afin d'enrichir mon vocabulaire VBA, comment auriez vous codé ça ?

Merci
 

Pièces jointes

Dernière édition:
Re : Textbox et IsEmpty

Merci, c'est bien ce que je voulais.

Est-ce que tu pourrais commenter ton code et les fonctions utilisées ?
Même avec l'aide le "Me" reste obscur et rien d'expliqué pour le "Controls"

"Me" veut dire moi-même
Ca reviens un peu a dire userform1.

Controls ca appel indirectement les controles de "ME" par leur nom.
Ca permet de passer du texte à la fonction. Donc de modifier ce texte.

Tu as essayer ma version verif?
 
Re : Textbox et IsEmpty

bonjour VinceNc, Habitude,

Un TextBox n'est jamais vide. Il contient une chaine de caractère de longueur nulle mais n'est pas vide.

Pour tester un TextBox:

Code:
If Len(Trim(TextBox.Text))=0 then   
'..... 
End if
 
'Ou
 
If Trim(Textbox.text)="" then
End if

Le Trim(...) est là pour s'assurer que des espaces ne trainent pas.

A+
 
- 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
Retour