Rajouter code à un code déjà existant
Bonjour Tout le Monde,
D’abord toutes mes excuses si je ne poste pas au bon endroit.
Ensuite mon problème : je n’y connais absolument rien en VBA ou Macros, ça fait presque 15 jours que je cherche et je n’ai pas trouvé de solutions à mon problème. Alors si une bonne âme voulait bien m’aider…
J’ai un fichier excel qui comporte plusieurs feuilles, l’une d’elles s’appelle Bénéficiaires (une base de données) et se remplie grâce à un Userform appelé : frm.Bénéficiaires.
Dans la feuille Exel Bénéficiaires j’ai rajouté des colonnes pour les dates de location, leur durée et les km.
Les entêtes de ce tableau (base de données) commencent en B6.
Pour les Dates de Contrats :
Début : Colonne E (dc E7)
Fin : Colonne F (dc F7)
Durée : Colonne G (dc G7)
Pour le kilométrage :
Nb de Km (Dom/Trav) : Colonne J (dc J7)
Aller/Retour : Colonne K (dc K7)
Km Parcourus : Colonne L (dc L7)
Maintenant pour le Userform :
Bénéficiaire5 = Début
Bénéficiaire6= Fin
Bénéficiaire7 = Durée
Bénéficiaire10 = Nb de Km
Bénéficiaire11 = Nb de Km Aller/Retour
Bénéficiaire12 = Nb de Km Parcourus
Voici le code VBA pour la saisie et la validation de ce userform (je précise, ce n’est pas moi qui l’ai fait, lol) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| Private Sub cmdAjouterBénéficiaire_Click()
Dim X As Integer
Dim nextrow As Range
On Error GoTo cmdAjouterBénéficiaire_Click_Error
Set nextrow = Feuil4.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
For X = 1 To 49
If Me.Controls("Bénéficiaire" & X).Value = "" Then
MsgBox "Veuillez saisir toutes les données"
Exit Sub
End If
Next
If WorksheetFunction.CountIf(Feuil4.Range("A:A"), Me.Bénéficiaire18.Value) > 0 Then
MsgBox "Ce bénéficiaire existe déjà"
Exit Sub
End If
For X = 1 To 49
nextrow = Me.Controls("Bénéficiaire" & X).Value
Set nextrow = nextrow.Offset(0, 1)
Next
'clear
For X = 1 To 49
Me.Controls("Bénéficiaire" & X).Value = ""
Next
On Error GoTo 0
Exit Sub
cmdAjouterBénéficiaire_Click_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure cmdAjouterBénéficiaire_Click of Form frmBénéficiaires"
End Sub
Private Sub cmdQuitterBénéficiaire_Click()
Unload Me
End Sub |
Ce que j’aimerais, si vous m’avez suivie, c’est rajouter les codes pour les colonnes que j’ai rajoutées. La fonction DateDiff qu’il me calcule automatiquement sur le userform la durée de location dans Bénéficiaire7, et qu’après avoir saisie les km, que VBA me calcule les km A/R dans Bénéficiaire11 (soit Bénéficiaire10 x 2) et dans km parcourus Bénéficiaire12 : Bénéficiaire7 x Bénéficiaire11.
Help please ! J'ai vraiment essayer de comprendre le code mais j'avoue que là, je suis une vraie buse ! Désolée,8-)
Pour finir, j’ai Windows8, Exel 2013.
Merci d’avance,
LO