Je commence en VBA et j'ai, comme tout le monde au début je suppose quelques petits blocages .
Lors de la validation de mon Userform, j'aimerais qu'a chaque fois les données de mes textbox soit copiées dans la ligne du dessous. J'ai essayé d'utiliser le code :
Y = Sheets("Matrice note de frais").Range("B10").End(xlUp).Row + 1
Mais le résultat n'était guère au rendez-vous
Je met mon code ci-dessous :
VB:
Private Sub AjouterFrais_Click()
Y = Sheets("Matrice note de frais").Range("B10").End(xlUp).Row + 1
ActiveSheet.Range("B10" & Y).Value = Date1
ActiveSheet.Range("C10" & Y).Value = Ville
ActiveSheet.Range("D10" & Y).Value = Description
End Sub
Votre format de fichier .xls est dépassé (depuis 2007) utilisez (à moins d'une raison particulière) le format .xlsx pour les classeurs sans macro et .xlsm pour les classeurs avec macro.
Vous pourrez profitez de toutes les améliorations effectuées depuis. Notamment les tableaux structurés : https://fauconnier.developpez.com/tutoriels/tableaux-structures/
Comme il y a des données sous votre tableau, j'ai pris la dernière ligne +1 de votre tableau (ligne 46) comme référence.
Du coup pour ma culture personnelle le problème était en premier lieu que je prenais en référence B10 ( première ligne de mon tableau) alors qu'il fallait que je prenne B46 (dernière ligne de mon tableau) ?