Enregistre les données en dernières lignes VBA

Bonjour, et joyeuses fêtes à tous,

Quand je valide les données dans ma feuille "INSCRIPTIONS", mon enregistrement se fait sur la première lignes et bien sûr m'efface la précédente, ou sinon il me l'enregistre en dernière ligne.

le code " Selection.Offset(1,0).select " m'indique une erreur, et pourtant j'utilise le même code pour un autre tableau avec excel 2019.

Voici le code que j'utilise

Private Sub commandbutton1_click()
    Sheets("INSCRIPTIONS ").Activate
    Range("B4").Select
    Selection.End(xlDown).Select
    Selection.Offset(1, 0).Select
        ActiveCell = TextBox1.Value
        ActiveCell.Offset(0, 1).Value = TextBox2
        ActiveCell.Offset(0, 2).Value = ComboBox1
        ActiveCell.Offset(0, 3).Value = ComboBox2
        ActiveCell.Offset(0, 4).Value = TextBox3
End Sub

Merci pour votre aide

Bonsoir,

il vous retourne une erreur car vous travaillez sur une Selection que vous voulez décaler de 1 ligne en la sélectionnant...

Essayez ceci :

Private Sub commandbutton1_click()
    Derligne = Sheets("INSCRIPTIONS ").Range("B"&Rows.count).End(xlUp).Row + 1
    With Sheets("INSCRIPTIONS ").Range("B" & Derligne)
        .Value = TextBox1.Value
       .Offset(0, 1).Value = TextBox2
        .Offset(0, 2).Value = ComboBox1
        .Offset(0, 3).Value = ComboBox2
       .Offset(0, 4).Value = TextBox3
    Ens With
End Sub

Pas de fichier = pas testé...

@ bientôt

LouReeD

Encore un grand merci à vous.

Passez de joyeuses fêtes de fin d'années

Bonjour,

merci pour les fêtes et je vous le souhaite également,
merci pour votre retour et remerciement.

j'ajouterai que j'ai oublié de vous expliquer que pour chercher la dernière cellule non vide d'une colonne il valait mieux partir "d'en bas de la feuille" et remonter, donc ensuite pour trouver la première cellule vide de la colonne on ajoute 1 au résultat précédent.
Partir d'en bas Range("A" & Rows.Count), donc A et le nombre total de ligne que comprend la feuille Excel.
Aller à la fin de cette colonne en allant vers le haut : End(xlUp)
.Row pour connaitre le numéro de ligne de la cellule trouvée et +1 pour prendre la ligne du dessous.

Ensuite sachez qu'il n'est pas utile et nécessaire (sauf dans quelques cas rares) de sélectionner ou d'activer une cellule ou une feuille ou un classeur pour y inscrire des données par exemple.

@ bientôt

LouReeD

Rechercher des sujets similaires à "enregistre donnees dernieres lignes vba"