Remplacer InputBox par Userform et ComboBox

Bonjour à tous,

J'ai besoin de votre aide ! Je cherche à remplacer mon InputBox par une ComboBox car je dois avoir une liste déroulante (impossible dans une InputBox).

Le but étant de remplir les lignes vides présentes entre d'autres lignes (non vides), pour une base de données.

Seulement mes capacités VBA sont encore bien faibles, même si je m'améliore un peu .

Voilà mon code avec InputBox :

Sub Bouton258_Cliquer()

If MsgBox("Voulez-vous ajouter un projet?" & vbCrLf & "Cette opération peut prendre quelques secondes", vbYesNo, "Ajout Projet") = vbYes Then

Application.ScreenUpdating = False

    With Sheets("BDD")

'Insertion d'une ligne dès que deux cellule consécutives ne sont pas égales (nouvel item)

Dim L As Integer, Ligne As Integer
    L = 3
Do While Cells(L, "A") <> ""
        If Cells(L, "A").Value <> Cells(L + 1, "A").Value Then
            Ligne = Cells(L + 1, "A").Row
            Rows(Ligne).Insert
            L = L + 1
        End If
    L = L + 1
Loop

Dim plage As Range, cell As Range

'Plage pour la recherche : colonne A, à partir de A3 jusqu'à la dernière ligne utilisée de la colonne A'
Set plage = .Range("A3:A" & .Range("A" & Rows.Count).End(xlUp).Row)
        For Each cell In plage

'Si cellule vide alors je lui donne la valeur de la cellule au dessus
            If cell.Value = "" Then cell.Value = cell.Offset(-1, 0).Value
        Next cell
    End With

'Affectation des formules de calcul de prix aux nouvelles lignes vierges
'1
    Range("H3:H1048576").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Application.CutCopyMode = False
    Selection.FormulaR1C1 = "=RC[-2]*RC[8]"

'2

    Range("I3:I1048576").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.FormulaR1C1 = "=RC[-3]*(1+0.018)^(YEAR(TODAY())-YEAR(RC[3]))"

'3

    Range("K3:K1048576").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.FormulaR1C1 = "=RC[-3]*(1+0.018)^(YEAR(TODAY())-YEAR(RC[1]))"

'Masquer les lignes déja complétées pour simplifier l'enregistrement d'un nouveau projet
Columns(3).SpecialCells(xlCellTypeConstants).EntireRow.Hidden = True
Range("A1:A2").EntireRow.Hidden = False

Set objRange = Union(Range("G3:G1048576"), Range("J3:J1048576"))
objRange.SpecialCells(xlCellTypeBlanks).Select
Devuse = "Devise"
Devise = InputBox("Entrez la devise de votre projet (€, $, £ ou XOF)", "Devise", Devuse)
Selection.FormulaR1C1 = Devise

'4
    Range("P3:P1048576").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.FormulaR1C1 = _
        "=IF(RC[-9]=""$"",""0,89"",IF(RC[-9]=""€"",""1"",IF(RC[-9]=""FCFA"",""655,957"",IF(RC[-9]=""XOF"",""655,957"",IF(RC[-9]=""£"",""1.13"")))))"

'Type de projet

Range("D3:D1048576").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Projet = "Type de projet"
        TypeProj = InputBox("Entrez le type de votre projet (Métro, Tramway, BHNS, ...)", "Type de projet", Projet)
    Selection.FormulaR1C1 = TypeProj

'Pays

Range("N3:N1048576").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Pays = "Pays"
        Pays = InputBox("Entrez le pays de votre projet", "Pays", Pays)
    Selection.FormulaR1C1 = Pays

'Ville

    Range("M3:M1048576").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Ville = "Ville"
        Ville = InputBox("Entrez la ville de votre projet", "Ville", Ville)
    Selection.FormulaR1C1 = Ville

'Nom

    Range("O3:O1048576").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    PNom = "P.Nom"
        Nom = InputBox("Entrez le nom du référent de votre projet", "Nom", PNom)
    Selection.FormulaR1C1 = Nom

'Date

    Range("L3:L1048576").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
Dim LaDate As String, MaDate As Date
LaDate = "jj/mm/aaa"
    MaDate = InputBox("Entrez la date de votre projet", "Date", LaDate)
Selection.FormulaR1C1 = MaDate

'Référence

Range("Q3:Q1048576").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
        TypeProj = InputBox("Entrez la référence de votre projet" & vbCrLf & "Si inconnue, tapez x", "Type de projet")
    Selection.FormulaR1C1 = TypeProj

End If
End Sub

Un héros pour m'aider à avancer ?

Merci beaucoup.

Bonjour,

un fichier test est bien mieux qu'une page de codes.

On ne sait même pas la fonction de ton Bouton258 ? C'est un bouton de validation ?

il est ou ? sur une feuille dans userform ? pourquoi la selection n'est-elle pas prévue avant ?

Rechercher des sujets similaires à "remplacer inputbox userform combobox"