XL 2019 "Vider" les cellules apparemment vides...

Katoch

XLDnaute Junior
Bonjour Forum !

Lorsque je saisis un enregistrement à l'aide du formulaire , les champs s'enregistrent dans la base de données Source.
Mais les champs apparemment vides , contiennent une valeur. (détectée par NBVAL()).
Comment éviter d'enregistrer ces cellules faussement vides à partir du formulaire ?
Quel code vba faut-il rajouter au code de ce formulaire ??
Merci pour votre aide !
 

Pièces jointes

  • Katoch FM V1.xlsm
    132.9 KB · Affichages: 8

Efgé

XLDnaute Barbatruc
Bonjour

Une idée :
Remplace tous tes
VB:
ActiveCell.Offset(0, 3) = ComboBoxDateprévue
ActiveCell.Offset(0, 4) = LabelDate1
ActiveCell.Offset(0, 5) = ComboBoxEvaluation

Par
Code:
If ComboBoxDateprévue <> "" Then ActiveCell.Offset(0, 3) = ComboBoxDateprévue
If LabelDate1 <> "" Then ActiveCell.Offset(0, 4) = LabelDate1
If ComboBoxEvaluation <> "" Then ActiveCell.Offset(0, 5) = ComboBoxEvaluation

Cordialement
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Katoch,
Petit patch en PJ, jai rajouté :
VB:
 ' Nettoyage : Si une cellule a un NBCAR=0 et NBVAL>0 alors on l'efface
    For I = 1 To 162
        If Application.CountA(ActiveCell.Offset(0, I)) > 0 And Len(ActiveCell.Offset(0, I)) = 0 Then
            ActiveCell.Offset(0, I).ClearContents
        End If
    Next I
Je n'ai pas cherché le pourquoi de ce truc bizarre. Les cellules ont un NBVAL positif mais un NBCAR nul.
Ce n'est pas le plus esthétique, mais c'est efficace.

PS :
Voir ce lien.
La fonction NBVAL compte les cellules contenant tout type d’information, y compris des valeurs d’erreur et du texte vide ("").
Comme la macro y met un texte vide, NBVAL compte 1.
Pour éviter cela il faudrait faire SI Valeur<>"" alors écrire, mais avec toutes vos box, ma méthode devient plus simple.
 

Pièces jointes

  • Katoch FM V1 (2).xlsm
    114.7 KB · Affichages: 4
Dernière édition:

Katoch

XLDnaute Junior
Yes ! yes ! yes !
Merci beaucoup Sylvanu et Efgé !! le correctif fonctionne parfaitement, ouf....

Encore une question:
Pour obtenir l'affichage du prénom dans le Label TxtPrénom ,après avoir sélectionné le Nom dans la comboboxNom,celui-ci ne s'affiche que lorsque je clic sur TxtPrénom.
Peut-on obtenir l'affichage directement après avoir sélectionné le Nom et aller mettre en focus le champs suivant qui est ComboBoxDateprévue ?

merci
 

Discussions similaires

Statistiques des forums

Discussions
312 228
Messages
2 086 420
Membres
103 205
dernier inscrit
zch