Remplir des colonnes via un formulaire

Bonjour, débutant j'ai besoin de votre aide.

lorsqu'on ouvre la feuille presentation, apparait un formulaire qui permet d'entrer le nom de la fiche véhicule et le nom du depot.

après validation, le nom de la fiche véhicule et le nom du depot sont insérés dans les colonnes A et B de la feuille depot.

le code que j'ai utilisé permet de les insérer dans deux colonnes spécifiques (A2 et B2).

comment faire pour que le nom de la fiche véhicule et le nom du depot s'insèrent dans les colonnes de la feuille depot les uns après les autres.

en fait la colonne A doit contenir toutes les fiches et la colonne B doit contenir tous les depots

Bonjour

Dans l'userform1, remplacez votre code CommandButton3_Click par celui-ci

Private Sub CommandButton3_Click()
Dim valeurfiche As String, valeurdepot As String
Dim Lig As Integer

valeurfiche = InputBox("Nommez la fiche du véhicule")
If valeurfiche = "" Then Exit Sub
valeurdepot = InputBox("Entrer le depot")
If valeurdepot = "" Then Exit Sub

Sheets("Modele").Copy After:=Sheets("Modele")  'Sheets.Count)
ActiveSheet.Name = valeurfiche
With Sheets("depot")
    Lig = .Range("A" & .Rows.Count).End(xlUp).Row + 1
    .Range("A" & Lig) = valeurfiche
    .Range("B" & Lig) = valeurdepot
End With

MsgBox "Veuillez completer les infos du véhicule"
Unload Me
End Sub

Cordialement

Merci pour tout ca marche.

je sais pas si je dois créer une nouvelle discussion. maintenant que la feuille depot fonctionne bien, j'aimerais alimenter les deux combobox du formulaire avec les informations de la feuille depot

le premier combobox sera alimenté par la colonne B (depot) et le second sera alimenté par la colonne A (fiche). la liste de la combobox 2 dépendra de la sélection du combobox 1. lorsqu'on sélectionne dans le combo1 depot1, le combo2 affiche toutes les fiches correspondantes au depot1.et lorsqu'on clique sur le bouton operation il s'affiche la fiche correspondante

je sais pas si je dois créer une nouvelle discussion. maintenant que la feuille depot fonctionne bien, j'aimerais alimenter les deux combobox du formulaire avec les informations de la feuille depot

Bah on peut continuer ici si vous voulez.

Pour votre alimentation des deux combobox, je me doutais que vous alliez demander cela . Dans l'userform1, remplacez le code Initialize par celui ci-dessous

Private Sub UserForm_Initialize()

With Sheets("Depot")
    ComboBox1.List = .Range("A2:A" & .Range("A" & .Rows.Count).End(xlUp).Row).Value
    ComboBox2.List = .Range("B2:B" & .Range("B" & .Rows.Count).End(xlUp).Row).Value
End With
End Sub

Merci encore pour votre aide. ça marche mais pas totalement comme je veux. en effet la première combo contient les depots et la deuxième contient également les fiches. mais le souci c'est que lorsqu'on sélectionne par exemple le depot1 dans la première combo, la deuxième combo contient toutes les fiches. en principe la deuxième combo devait contenir que les fiches du depot1

mais pas totalement comme je veux. en effet la première combo contient les depots et la deuxième contient également les fiches. mais le souci c'est que lorsqu'on sélectionne par exemple le depot1 dans la première combo, la deuxième combo contient toutes les fiches. en principe la deuxième combo devait contenir que les fiches du depot1

Est-ce que vous pouvez avoir deux ou plusieurs même fiches dans le même dépot ? exemple dans votre fichier, 1 seul dépot pour les 3 fiches

En fait chaque depot contient plusieurs véhicules, et un depot peut contenir plusieurs véhicules d'une meme marque et serie. en principe l'immatriculation permettra de les identifier. il se pourrait que le nom de la fiche soit l'immatriculation. ainsi en entrant les 03 premiere lettres de l'immatriculation, l'immatriculation pourra s'afficher dans la combo

il se pourrait que le nom de la fiche soit l'immatriculation. ainsi en entrant les 03 premiere lettres de l'immatriculation, l'immatriculation pourra s'afficher dans la combo

Cela veut dire que vous pouvez avoir des doublons dans la colonne B. Dans ce cas remplacez le code initialize proposé avant pour l'ouverture de l'userfom1 et qui va remplir la combobox2 "depot"

Private Sub UserForm_Initialize()
Dim Tablo As Collection
Dim cel As Range

With Sheets("depot")
    Set Tablo = New Collection
    On Error Resume Next
        For Each cel In .Range("B2:B" & .Range("B" & .Rows.Count).End(xlUp).Row)
            Tablo.Add cel.Value, CStr(cel.Value)
        Next cel
    On Error GoTo 0
    For Each Item In Tablo
        ComboBox2.AddItem Item
    Next Item
End With
End Sub

Je regarde pour la combobox1

EDIT : Voici pour la combobox1. Elle se remplira en fonction de votre choix dans la combobox 2

Private Sub ComboBox2_Change()
Dim Lig As Integer
Dim cel As Range

ComboBox1.Clear
With Sheets("depot")
    For Each cel In .Range("A2:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
        If .Range("B" & cel.Row).Value = ComboBox2.Value Then
            ComboBox1.AddItem .Range("A" & cel.Row).Value
        End If
    Next cel
End With
End Sub

NB : Cela aurait été bien d'inverser le nom nommer votre combobox2 en combobox1 (et inversément) vu que c'est la 2 que vous utilisez en premier dans l'userform...

Bonjour, Merci beaucoup pour votre aide ca marche comme je veux

Bonjour, j'ai encore besoin de votre aide. sur la feuille modele, il existe un bouton "2010" auquel est affecté une macro qui permet d'afficher les lignes du tableau pour l'année 2010. est ce possible d'avoir 12 bouton (janvier, fevrier, mars etc) qui permettront chacun d'afficher les lignes du tableau pour chaque mois.

merci

Bonjour,

Je dois bien comprendre où vous filtrez les données dans chaque feuille. Il y a peut être moyen de faire plus simple

Pourquoi un bouton 2010 et pourquoi votre filtre est situé en C7 ?

Cordialement

Bonjour en fait j'ai eu le fichier sur un forum Excel. Au bouton "2010" est affecté une macro module 1 qui permet d'afficher les lignes du tableau pour l'année 2010. Ce que je souhaite c'est supprimer ce bouton et de le remplacer par des boutons qui permettront de filtrer le tableau par mois.

Oui j'avais vu pour le bouton.
Il y a plus simple je pense car le fait d'avoir 12 boutons par feuille, cela va vite devenir compliqué je pense.
Je pense à une solution qui serait d'utiliser une liste déroulante (placée par exemple en A9 dans la feuille Modèle) avec les mois et en fonction du mois choisi vous pourriez filtrez les données
Là vous étiez sur un bouton 2010 mais la question est de savoir si vous devez aussi tenir compte de l'année dans le filtre ou pas.

Non pas besoin de l'année, la solution que vous proposez me convient. vous pouvez opter pour cette solution. Merci encore pour votre aide

Bonjour

Dans votre feuille Modele, j'ai positionné la liste de choix en A10.

Est-ce que vous devez mettre des infos dans les lignes 7 et 8 ? Si non, on peut les supprimer

Crdlt

Bonjour, non j'ai rien à mettre dans les lignes 7 et 8 . vous pouvez mettre la liste de choix dans la ligne 10.

merci pour tout

Dans le module 2, vous avez des macros Quand Bouton click, elles servent à quelque chose ?

Crdlt

Non les modules2 et 3 ne sont plus utiles. vous pouvez les supprimer

Ok. Je vois aussi qu'il y a d'autres userforms UGH et Userform2. Je les laisse ?

Vous pouvez supprimer le UGF, le userform2 peut rester

Rechercher des sujets similaires à "remplir colonnes via formulaire"