Formulaire validation aucune saisie

jonat57

XLDnaute Nouveau
Bonjour à tous

Ci-joint, mon fichier où je saisis chaque fin de mois les montants de différents magasins.
Il se peut que pour certains magasins je n'ai pas de valeur à rentrer. Comment faire un test qui permettrait d'ignorer le magasins dont aucune valeur n'a été saisie lors de la validation.
Sur ce code présent, une erreur se passe lors de la validation si j'ai oublié de saisir une valeur.

Merci d'avance.

Cordialement
 

Pièces jointes

  • Magasin - Copie.xls
    77 KB · Affichages: 77

Papou-net

XLDnaute Barbatruc
Re : Formulaire validation aucune saisie

Bonjour jonat57,

Vois si cette modification te convient :

Code:
Private Sub CommandButton1_Click()
[A65000].End(xlUp).Offset(1, 0).Select
   
   Dim k As Integer
   k = 0
   Dim ligne As Integer
   Dim col As Integer
   
   For ligne = 0 To 2
    k = k + 1
    ActiveCell.Offset(ligne, 0) = Application.Proper(F_création_simple.Controls("nom" & k))
    ActiveCell.Offset(ligne, 1).Value = CLng(F_création_simple.annee)
    ActiveCell.Offset(ligne, 2).Value = F_création_simple.mois
    If F_création_simple.Controls("ca" & k).Value <> "" Then ActiveCell.Offset(ligne, 3).Value = CDbl(F_création_simple.Controls("ca" & k))
   Next ligne
   For k = 1 To 3
    F_création_simple.Controls("ca" & k).Value = ""
   Next k
  Me.Hide
End Sub

Espérant avoir répondu.

Cordialement.
 

Papou-net

XLDnaute Barbatruc
Re : Formulaire validation aucune saisie

Simple question supplémentaire, est-possible de ne pas afficher les valeurs (nom, année, mois) pour les magasins n'ayant aucune saisie ?

Nouveau code, avec ajout de la variable 'lg' pour décalage des lignes sur la feuille de calcul !

Code:
Private Sub CommandButton1_Click()
[A65000].End(xlUp).Offset(1, 0).Select
   
Dim k As Integer, lg As Integer
Dim ligne As Integer
Dim col As Integer
With F_création_simple
  If .ca1 + .ca2 + .ca3 = "" Then Exit Sub
End With
k = 1
lg = 0
For ligne = 0 To 2
  If F_création_simple.Controls("ca" & k).Value <> "" Then
    ActiveCell.Offset(lg, 0) = Application.Proper(F_création_simple.Controls("nom" & k))
    ActiveCell.Offset(lg, 1).Value = CLng(F_création_simple.annee)
    ActiveCell.Offset(lg, 2).Value = F_création_simple.mois
    ActiveCell.Offset(lg, 3).Value = CDbl(F_création_simple.Controls("ca" & k))
    lg = lg + 1
  End If
  k = k + 1
Next ligne
For k = 1 To 3
  F_création_simple.Controls("ca" & k).Value = ""
Next k
Me.Hide
End Sub

Bonne soirée.

Cordialement.
 

Discussions similaires

Réponses
16
Affichages
1 K

Statistiques des forums

Discussions
312 379
Messages
2 087 763
Membres
103 661
dernier inscrit
fcleves