oxydedefer
XLDnaute Nouveau
Bonjour , je souhaite avoir l'age en année d une personne , cette age dois changé si c'est le jour de son anniversaire ,et dois prendre en compte les année bissextile . J'ai déjà trouver une bonne formule , le soucis c'est lorsque je l'incorpore à mon programme vba il me met un age de
voici mon code au complet:
Code:
ActiveCell.FormulaR1C1 = "=DATEDIF(RC[-1],TODAY(),""y"")"
Code:
Dim numLigneVide As Long
Dim agepersonne As Integer
Worksheets("Liste de la clientel").Activate
'On trouve la dernière ligne vide du tableau et on enregistre le numéro de la ligne dans la variable
numLigneVide = Range("A" & Rows.Count).End(xlUp).Row
' With "Liste de la clientel"
If TextNom.Text = "" Then
MsgBox "Veuillez remplir le nom de votre contact", vbCritical, "Champs manquant"
TextNom.SetFocus
ElseIf Textprenom.Text = "" Then
MsgBox "Veuillez remplir le prénom de votre contact", vbCritical, "Champs manquant"
Textprenom.SetFocus
ElseIf IsNumeric(TextNom.Text) Then
MsgBox "Le nom ne dois pas comporter de chiffres", vbCritical, "Champs manquant"
TextNom.SetFocus
ElseIf IsNumeric(Textprenom.Text) Then
MsgBox "Le prénom ne dois pas comporter de chiffres", vbCritical, "Champs manquant"
TextNom.SetFocus
Else
'On remplit les données dans notre tableau
ActiveSheet.Cells(numLigneVide, 1) = TextNom.Text
ActiveSheet.Cells(numLigneVide, 2) = Textprenom.Text
ActiveSheet.Cells(numLigneVide, 3) = DateText.Text
agepersonne = ActiveCell.FormulaR1C1 = DATEDIF(c1, Today(), "y")
ActiveSheet.Cells(numLigneVide, 4) = agepersonne
'On efface le formulaire et on replace le curseur sur le premier champs (Nom)
TextNom.Text = ""
Textprenom.Text = ""
End If
Dernière édition: