Bonjour à tous
Dans le cadre de mon stage de deux mois, je dois gérer un parc automobile. J'ai donc pour projet de faire un logiciel VBA mais je dois avouer que la tâche est plutôt ardue. Quoiqu'il en soit, j'ai besoin de votre aide car là je bloque depuis plusieurs (je risque de faire souvent appel à vous ces prochaines semaines vu que j'entre dans la partie hard des macros).
Bref, j'ai un userform pour ajouter un véhicule dans la base de données du parc automobile avec diverses informations comme le carburant, le type de propriété (LLD ou propriétaire),etc. Je souhaite donc que quand je clique sur un bouton de commande "Suivant", les informations aillent se rajouter sur la première ligne vide qu'ils trouvent mais je voudrais que les infos pour un véhicule soit sur la même ligne. Le problème, c'est que la marque et le modèle viennent bien chercher la première cellule vide en 1ère colonne (colonne A par exemple) mais quand j'ajoute le carburant, il ne s'ajoute pas sur la même ligne que le modèle rajouté mais sur les nouvelles cellules vide de la colonne. Je vous donne un exemple:
Renault Megane se met en A35, première cellule vide, mais quand je rajoute le carburant, au lieu de se mettre en B35, il va en B36. Du coup ça décale. Voici les formules que j'ai écrit:
Private Sub CommandButton1_Click()
With Sheets("parc auto")
.Range("C65536").End(xlUp).Offset(1, 0).Value = TextBox1.Value
End With
With Sheets("parc auto")
.Range("E65536").End(xlUp).Offset(1, 0).Value = ComboBox2.Value
End With
Ajoutvehic.Hide
Ajoutvehic2.Show
End Sub
Sur CCM, on m'a proposé ce code comme solution:
With Sheets("parc auto")
ligvide = .Range("A65536").End(xlUp).Row + 1
.Cells(ligvide, "C") = TextBox1.Value
.Cells(ligvide, "E") = ComboBox2.Value
End With
Mais dans mon logiciel, ça change la valeur des titres de ma base de données, du coup c'est encore pire.
Je vous remercie par avance de votre aide et bonne journée. Si y'a besoin de joindre mon logiciel pour que vous vous fassiez une idée, je pourrai vous l'envoyer mais armez-vous d'une machette car c'est une véritable jungle :s
Dans le cadre de mon stage de deux mois, je dois gérer un parc automobile. J'ai donc pour projet de faire un logiciel VBA mais je dois avouer que la tâche est plutôt ardue. Quoiqu'il en soit, j'ai besoin de votre aide car là je bloque depuis plusieurs (je risque de faire souvent appel à vous ces prochaines semaines vu que j'entre dans la partie hard des macros).
Bref, j'ai un userform pour ajouter un véhicule dans la base de données du parc automobile avec diverses informations comme le carburant, le type de propriété (LLD ou propriétaire),etc. Je souhaite donc que quand je clique sur un bouton de commande "Suivant", les informations aillent se rajouter sur la première ligne vide qu'ils trouvent mais je voudrais que les infos pour un véhicule soit sur la même ligne. Le problème, c'est que la marque et le modèle viennent bien chercher la première cellule vide en 1ère colonne (colonne A par exemple) mais quand j'ajoute le carburant, il ne s'ajoute pas sur la même ligne que le modèle rajouté mais sur les nouvelles cellules vide de la colonne. Je vous donne un exemple:
Renault Megane se met en A35, première cellule vide, mais quand je rajoute le carburant, au lieu de se mettre en B35, il va en B36. Du coup ça décale. Voici les formules que j'ai écrit:
Private Sub CommandButton1_Click()
With Sheets("parc auto")
.Range("C65536").End(xlUp).Offset(1, 0).Value = TextBox1.Value
End With
With Sheets("parc auto")
.Range("E65536").End(xlUp).Offset(1, 0).Value = ComboBox2.Value
End With
Ajoutvehic.Hide
Ajoutvehic2.Show
End Sub
Sur CCM, on m'a proposé ce code comme solution:
With Sheets("parc auto")
ligvide = .Range("A65536").End(xlUp).Row + 1
.Cells(ligvide, "C") = TextBox1.Value
.Cells(ligvide, "E") = ComboBox2.Value
End With
Mais dans mon logiciel, ça change la valeur des titres de ma base de données, du coup c'est encore pire.
Je vous remercie par avance de votre aide et bonne journée. Si y'a besoin de joindre mon logiciel pour que vous vous fassiez une idée, je pourrai vous l'envoyer mais armez-vous d'une machette car c'est une véritable jungle :s