Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" and Target.value <>"" Then Target.Offset(1, 0).Select
End Sub
Ou peut-etre
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then
If Target.Value <> "" Then
Target.Offset(1, 0).Select
Else
Target.Select
End If
End If
End Sub
En gros, j'ai un tableau de récap de donné :
Colonne 1 : nom des matériaux
Colonne 2 : Famille de matériaux
Colonne 3 : Coût
Mon tableau se remplis automatiquement en fonction des données que je rentre dans mon userform, et je veux simplement que quand je rentre un nom de matériau par exemple du liège et que je rentre un deuxième nom de matériau par exemple béton, et bien que béton sois mis en dessous de liège tous simplement. (Actuellement si je rentre un deuxième nom de matériau cela m'efface le premier)
Dans ce cas il faut définir la cellule comme: Cells(rows.count,1).end(xlup).offset(1,0)
NB : a condition qu'il n'y ait rien en dessous du tableau dans la colonne A . Si c'est le cas un fichier exemple s'impose
voici mon fichier, lorsque je crée un nouvelle feuille cela me remplis le tableau " recherche de matériau" et je veux que ces données se range l'un en dessous de l'autre automatiquement et non efface la précédente.
J'ai commencer le VBA il y a 2 semaines, et je n'ai pas encore pris le temps de faire une belle mise en page, je veux surtout que les fonctions que je désire fonctionne ^^