Formulaire Excel 2007

Bonjour j'ai crée un formulaire de saisie via Excel qui alimente une base de donnée, mon code fonctionne, mais j'aimerai qu'il gère les cases à cocher (10 cases a cocher répartie en deux catégories).

De plus les données s'incrémentent à partir d'une sélection, je souhaiterai que ce soit à partir de la première colonne. (colonne A)

Voici mon code

Private Sub Valider_Click()
Dim i As Integer
If UserForm1.TextBox1 = "" Or UserForm1.ComboBox1 = "" Or   UserForm1.ComboBox2 = "" Then
    MsgBox "Veuillez saisir tout les champs"
    Else
    i = 2
    Do While Cells(i, 1) <> ""
    Cells(i, 1).Offset(1, 0).Select
    i = i + 1
    Loop
    ActiveCell.Value = UserForm1.TextBox1.Value
    ActiveCell.Offset(0, 1).Value = UserForm1.ComboBox1.Value
    ActiveCell.Offset(0, 2).Value = UserForm1.ComboBox2.Value
    Unload UserForm1
    End If

End Sub

Merci d'avance

bonjour,

peux-tu fournir un fichier exemple qui explique le résultat que tu veux obtenir ?

Ci- joint mon fichier

J'aimerai que les données s'incrémentent à partir de la colonne A, et que les cases à cocher fonctionnent

Merci d'avance

18test2.xlsm (24.60 Ko)

Bonjour,

voici un code adapté.

Private Sub Valider_Click()
If UserForm1.DateA = "" Or UserForm1.Marque = "" Or UserForm1.Modele = "" Then
    MsgBox "Veuillez saisir tout les champs"
    Else
    i = 2
    With Sheets("Base de donnée")  
    ' i = première ligne libre
    i = .Range("a" & .Rows.Count).End(xlUp).Row + 1
    .Cells(i, 1).Value = UserForm1.DateA
    .Cells(i, 2).Value = UserForm1.Marque
    .Cells(i, 3).Value = UserForm1.Modele
    ' on parcourt les valeurs des différents boutons options à la recherche de ceux qui ont été sélectionnés
    For j = 1 To 5
     ' optionbutton 1 à 5
     If Me("optionbutton" & j) = True Then .Cells(i, 4) = j ' valeur 1 à 5
     ' optionbutton 6 à 10
     If Me("optionbutton" & j + 5) = True Then .Cells(i, 5) = Chr(j + 64) ' valeur A à E
    Next j
    End With
    Unload UserForm1
End If
End Sub

Merci beaucoup pour l'aide apporté cela marche très bien, dernière question j'aimerai que les cases à cocher soit dans le message d'erreur si elles ne sont pas sélectionnées.

Merci d'avance

bonsoir,

voici le code adapté , j'ai pas testé

Private Sub Valider_Click()
o1=""
o2=""
    For j = 1 To 5
     ' optionbutton 1 à 5
     If Me("optionbutton" & j) = True Then o1 = j ' valeur 1 à 5
     ' optionbutton 6 à 10
     If Me("optionbutton" & j + 5) = True Then o2 = Chr(j + 64) ' valeur A à E
    Next j
If UserForm1.DateA = "" Or UserForm1.Marque = "" Or UserForm1.Modele = "" or o1="" or o2=""Then
    MsgBox "Veuillez saisir tous les champs"
    Else
    i = 2
    With Sheets("Base de donnée")  
    ' i = première ligne libre
    i = .Range("a" & .Rows.Count).End(xlUp).Row + 1
    .Cells(i, 1).Value = UserForm1.DateA
    .Cells(i, 2).Value = UserForm1.Marque
    .Cells(i, 3).Value = UserForm1.Modele
    .cells(i,4)=o1
    .cells(i,5)=o2
     End With
    Unload UserForm1
End If
End Sub

Bonsoir,

Merci beaucoup le code proposé fonctionne très bien

Bonsoir, j'ai encore des soucis dans mon formulaire, j'ai alimenté par code les combox mais j'aimerai avoir une liste en cascade entre marque et sous-options (ex: Audi, sous option: 1,2 BMW sous-options: 3,5...).

Merci d'avance

17test2.xlsm (27.74 Ko)
Rechercher des sujets similaires à "formulaire 2007"