Problèmes VBA

nextrevolution

XLDnaute Occasionnel
Bonjour à tous,

J'ai quelques problèmes sur mon application ci joint. Pour remplir les valeurs cliquer sur Ajouter.
Cijoint.fr - Service gratuit de dépôt de fichiers

1) Au niveau de ma date de naissance, si je rentre une date non valide (ex: 30 février, 31 avril ...) le message d'erreur apparaît mais ensuite j'ai une erreur d'incompabilité avec ma vérification de l'âge.
Nota: Si l'âge est inférieur à 18 ans la saisie est bloquée

2) Lorsque je fais Ajouter, le numéro de membres prend le dernier ajouter + 1, ça marche si le numéro a était ajouter sur la feuille manuellement, alors que si les chiffres auparavant on était ajouter par la macro alors la formule les prend pas en compte. Elle prend en compte le dernier chiffre ajouter manuellment sur la feuille.

3) Lorsque je fais ajouter les cases doivent se vider mais au niveau de la date j'ai des erreurs parce que la cellule deviens vide

4) Lorsque j'initialise la macro, elle me met le dernier chiffre de la feuille mais si je reviens en arrière avec ma navigation elle me dis que je suis au premier numéro et si je vais en avant elle affiche le numéro 2
Problème résolu


Ce sont mais différents problème je sais pas si vous avez une solution à tous mais si vous pouvez m'aider sur quelques points ça serait super.
En vous remerciant d'avance.
 
Dernière édition:

nextrevolution

XLDnaute Occasionnel
Re : Problèmes VBA

Je pense que j'ai trop mis d'un coup puis c'est pas trop explicite, je vais reprendre mes problème petit à petit.

1) Au niveau de ma date de naissance, si je rentre une date non valide (ex: 30 février, 31 avril ...) le message d'erreur date non valide apparaît mais ensuite j'ai "une erreur d'incompatibilité" avec ma vérification de l'âge.
Nota: Si l'âge est inférieur à 18 ans la saisie est bloquée

Le problème viens de la vérification de l'âge, comme la date est fausse l'âge ne peut pas être calculé donc la vérification ne marche pas, avez-vous une solution ou une piste à m’apporter ?
 
C

Compte Supprimé 979

Guest
Re : Problèmes VBA

Salut Nextrevolution, Kjin,

Réponse à la question 1, dans ton code je ferais plutôt ça
Code:
Private Sub cboJour_[COLOR=blue][B]AfterUpdate()[/B][/COLOR]
  ' Mettre la propriété : MatchRequired à TRUE
  ' Oblige l'utilisateur à choisir ou saisir la bonne valeur
  Me.cboMois.Enabled = True
  Me.cboMois.SetFocus
End Sub
Private Sub cboMois_[COLOR=blue][B]AfterUpdate()[/B][/COLOR]
  ' Mettre la propriété : MatchRequired à TRUE
  ' Oblige l'utilisateur à choisir ou saisir la bonne valeur
  Me.cboAnnee.Enabled = True
  Me.cboMois.SetFocus
  ' Vérifie que le jour pour le mois existe
  If Not IsDate(Me.cboJour & "/" & Me.cboMois & "/" & Year(Now)) Then
    MsgBox "Vous avez choisi de mauvaises valeurs (Février, 30 ou 31 jours)", vbInformation + vbOKOnly, "Calculer votre age"
    Me.cboJour.SetFocus
    Exit Sub
  End If
End Sub
Private Sub cboAnnee_[COLOR=blue][B]AfterUpdate()[/B][/COLOR]
  ' Tout à déjà été vérifié, donc calcul de l'age
  Me.Label3.Caption = Calculage(CDate(Me.cboJour.Text & "/" & Me.cboMois.Text & "/" & Me.cboAnnee.Text), Date)
  If Label3.Caption < 18 Then
    MsgBox "Saisie bloquée,veuillez modifier l'année ou supprimer le nouveau membre", , "Personne mineur!"
    TextBox50.Enabled = False
    TextBox51.Enabled = False
    TextBox1.Enabled = False
    TextBox57.Enabled = False
    TextBox59.Enabled = False
    TextBox60.Enabled = False
    TextBox62.Enabled = False
    TextBox61.Enabled = False
    TextBox63.Enabled = False
    CheminImage.Enabled = False
    CommandButton2.Enabled = False
    EnregNewFid.Enabled = False
    OptionButton1.Enabled = False
    OptionButton2.Enabled = False
  End If
  If Label3.Caption >= 18 Then
    TextBox50.Enabled = True
    TextBox51.Enabled = True
    TextBox1.Enabled = True
    TextBox57.Enabled = True
    TextBox59.Enabled = True
    TextBox60.Enabled = True
    TextBox62.Enabled = True
    TextBox61.Enabled = True
    TextBox63.Enabled = True
    CheminImage.Enabled = True
    CommandButton2.Enabled = True
    EnregNewFid.Enabled = True
    OptionButton1.Enabled = True
    OptionButton2.Enabled = True
  End If
End Sub

A supprimer
Code:
Private Sub cboAnnee_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Tu trouveras ton fichier modifié ici : Cijoint.fr - Service gratuit de dépôt de fichiers

A+
 
Dernière modification par un modérateur:
C

Compte Supprimé 979

Guest
Re : Problèmes VBA

Réponse à la question 2,

Si j'ai bien compris c'est à l'initialisation de ton USF,
il faut ajouter 1 au chiffre max comme avec le bouton ;)

Code:
Private Sub UserForm_Initialize()
'numéro du nouveau membre
  Me.n° = Application.WorksheetFunction.Max(Sheets("BD Fidelite").Range("a:a")) [B][COLOR=blue]+ 1[/COLOR][/B]

Pour le problème 3, je n'ai pas constaté d'anomalie suite au changement du code,
à vérifier.

A+
 

nextrevolution

XLDnaute Occasionnel
Re : Problèmes VBA

Bonjour à kjin et BrunoM45,

Bonsoir,
A adapter
A+
kjin

Ton fichier à l'air intéressant mais j'avais déja ce problème sur une autre application. J'arrive pas à activer l'option Calendar. J'ai cherché dans les référence de VisualBasic mais j'ai pas trouvé.

J'avais Utilisé Monthview par la suite dans mon autre application, je sais pas la différence entre les deux.
 
Dernière édition:

Statistiques des forums

Discussions
312 413
Messages
2 088 206
Membres
103 767
dernier inscrit
LEONG