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

NicolasKH

XLDnaute Junior
Bonjour a tous,
j'ai un petit soucis au niveau de mon code vba
explication:
j'ai un userform avec txtentree et txtsortie, l'erreur est quand je met rien dans les deux TXT excel n'inscrit rien dans mon tableau, au contraire quand je rempli les deux TXT les donnees s'inscrit bien dans mon tableau j'aimerai que la saisie dans les txt sois l'un ou l'autre.

Exemple :
quand je saisi dans le le TxtSorti soit grise
quand je saisi dans le TxtSorti le TxtEntree soit grise

mon code
Private Sub CbtValider_Click()

'On test que les controles ont bien ete saisie
If Len(Me.TxtDate) = 0 Then
Me.LblMessage = "Veuillez entree une date JJ/MM/AAAA."
Me.TxtDate.SetFocus
ElseIf Len(Me.CboLieux) = 0 Then
Me.LblMessage = "Veuillez selectionner un lieux."
Me.CboLieux.SetFocus
ElseIf Len(Me.CboProjet) = 0 Then
Me.LblMessage = "Veuillez selectionner le projet."
Me.CboProjet.SetFocus
ElseIf Len(Me.TxtEntree) = 0 Then
Me.TxtEntree.SetFocus
ElseIf Len(Me.TxtSortie) = 0 Then
Me.TxtSortie.SetFocus
ElseIf Len(Me.CboDesignation) = 0 Then
Me.LblMessage = "Veuillez selectionner une designation."
Me.CboDesignation.SetFocus
ElseIf Len(Me.CboChefProjet) = 0 Then
Me.LblMessage = "Veuillez selectionner un chef de projet ."
Me.CboChefProjet.SetFocus
ElseIf Len(Me.CboChefChantier) = 0 Then
Me.LblMessage = "Veuillez selectionner un chef de chantier ."
Me.CboChefChantier.SetFocus

Else 'Si tous les champs sont complet on peut sauvegarder la source
'On cherche la prochaine ligne vide de la source
Feuil7.Activate
Feuil7.Range("A1048576").End(xlUp).Offset(1, 0).Select
' On effecte les donnees du formulaire dans la source
ActiveCell = ActiveCell.Offset(-1, 0) + 1
ActiveCell.Offset(0, 1) = CDate(Me.TxtDate)
ActiveCell.Offset(0, 2) = Me.CboLieux
ActiveCell.Offset(0, 3) = Me.CboProjet
ActiveCell.Offset(0, 4) = CCur(Me.TxtEntree)
ActiveCell.Offset(0, 5) = CCur(Me.TxtSortie)
ActiveCell.Offset(0, 6) = Me.CboDesignation
ActiveCell.Offset(0, 7) = Me.CboChefProjet
ActiveCell.Offset(0, 8) = Me.CboChefChantier


Unload Me
AvanceOuvrier.Show

'Activer la feuil TbTresorerie
Feuil1.Activate

End If
ThisWorkbook.Save
ThisWorkbook.RefreshAll
End Sub
 
Bonjour a vous deux

Il y a eu un copier/froisser dans la procedure .
Correction:
Private Sub CbtValider_Click()

VB:
        If TxtEntree <> "" Then
            ActiveCell.Offset(0, 4) = CCur(Me.TxtEntree)
        Else
            ActiveCell.Offset(0, 4) = ""
        End If
        If TxtSortie <> "" Then
            ActiveCell.Offset(0, 5) = CCur(Me.TxtSortie)
        Else
            ActiveCell.Offset(0, 5) = ""
        End If

Une infos par MsgBox serait plus appropriee que l'affichage d'un message
Mais c'est vous qui voiyez
merci beaucoup fonctionne tres bien
une autre petite question
comment fait on pour masquer une ligne d'apres une condition
exemple: dans la collone K j'ai OUI ou NON
je voudrais que quand c'est oui dans la collone K la ligne se masque

merci
 

Pièces jointes

Bonjour le fil

@NicolasKH, rendons à César ce qui lui appartient, ce n'est pas le calendrier de Oneida, mais celui de Patrick TOULON à la base 😜

Sinon, ce n'est quand même pas difficile de mettre un test 🤔 🙄
VB:
 If Me.TxtSortie <> "" Then ActiveCell.Offset(0, 6) = CCur(Me.TxtSortie)

A+

Bonjour le fil

@NicolasKH, rendons à César ce qui lui appartient, ce n'est pas le calendrier de Oneida, mais celui de Patrick TOULON à la base 😜

Sinon, ce n'est quand même pas difficile de mettre un test 🤔 🙄
VB:
 If Me.TxtSortie <> "" Then ActiveCell.Offset(0, 6) = CCur(Me.TxtSortie)

A+
merci BrunoM45 pour ton aide ca fonctionne tres bien
 
- 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

Discussions similaires

Réponses
0
Affichages
918
Retour