Problème avec un formulaire Excel
Lechiengaleu
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
julia Namor Messages postés 524 Date d'inscription Statut Membre Dernière intervention -
julia Namor Messages postés 524 Date d'inscription Statut Membre Dernière intervention -
'ai fait un formulaire Excel et lorsque celui-ci est complété, les données inscrite s'inscrivent dans un tableau sur une feuille. Jusque là aucun problème ... là ou je bloque c'est que je voudrais que les données du tableau s'inscrive au formulaire lorsque j'entres un # de cas. En gros que la référence du cas en question se retrouve dans le formulaire pour que je puisses utiliser le bouton "modifier le cas" et réellement le modifier ... à l'aide quelqu'un ???
Merci à tous,
Marc
Voici mon code :
Option Explicit
Dim Ws As Worksheet
Private Sub CommandButton3_Click()
Unload Me
End Sub
'Pour le formulaire
Private Sub Userform_Initialize()
Dim J As Long
Dim I As Integer
ComboBox1.ColumnCount = 1 'Pour les types d'employés
ComboBox1.List() = Array("Temps plein", "Partiel", "Salarié")
Set Ws = Sheets("Feuil1") 'Nom de l'onglet
Dim H As Integer
ComboBox2.ColumnCount = 1 'Pour les types de quart
ComboBox2.List() = Array("C", "D", "E", "AHP JOUR", "AHP SOIR", "CUSTOM")
Set Ws = Sheets("Feuil1") 'Nom de l'onglet
Dim G As Integer
ComboBox3.ColumnCount = 1 'Pour les types de départements
ComboBox3.List() = Array("VRAC", "MODULES", "EXPEDITION", "RECEPTION", "CARISTE", "AHP", "MAINTENANCE", "AUTRE")
Set Ws = Sheets("Feuil1") 'Nom de l'onglet
Dim F As Integer
ComboBox4.ColumnCount = 1 'Pour les types d'incidents
ComboBox4.List() = Array("Avec lésion", "Sans lésion", "SEM")
Set Ws = Sheets("Feuil1") 'Nom de l'onglet
Dim E As Integer
ComboBox5.ColumnCount = 1 'Pour les types de bâtiments
ComboBox5.List() = Array("1S", "1N", "2S", "2N", "3S", "3N", "4S", "4N")
Set Ws = Sheets("Feuil1") 'Nom de l'onglet
Dim D As Integer
ComboBox6.ColumnCount = 1 'Pour les types de véhicules
ComboBox6.List() = Array("Walkie simple", "Walkie double", "Walkie triple", "Walkie triple ELF", "Reach", "Towtruck", "Contre balance", "CB clamp", "Dockstocker", "DS Clamp", "Taylor Dunn")
Set Ws = Sheets("Feuil1") 'Nom de l'onglet
End Sub
'Pour le bouton Nouveau cas
Private Sub CommandButton1_Click()
Dim L As Integer
If MsgBox("Confirmez-vous l’insertion de ce nouveau cas ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
L = Sheets("Feuil1").Range("a65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
Range("A" & L).Value = ComboBox7
Range("B" & L).Value = TextBox2
Range("C" & L).Value = TextBox3
Range("D" & L).Value = TextBox4
Range("E" & L).Value = ComboBox1
Range("F" & L).Value = ComboBox2
Range("G" & L).Value = ComboBox3
Range("H" & L).Value = ComboBox4
Range("I" & L).Value = OptionButton1
Range("J" & L).Value = TextBox5
Range("K" & L).Value = TextBox6
Range("L" & L).Value = ComboBox5
Range("M" & L).Value = TextBox7
Range("N" & L).Value = ComboBox6
Range("O" & L).Value = TextBox8
End If
End Sub
'Pour le bouton Modifier un cas
Private Sub CommandButton2_Click()
Dim Ligne As Long
Dim I As Integer
If MsgBox("Confirmez-vous la modification de ce cas ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
If Me.ComboBox7.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox7.ListIndex + 2
Ws.Cells(Ligne, "B") = TextBox2
For I = 1 To 15
If Me.Controls("TextBox" & I).Visible = True Then
Ws.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)
End If
Next I

End If
End Sub
Merci à tous,
Marc
Voici mon code :
Option Explicit
Dim Ws As Worksheet
Private Sub CommandButton3_Click()
Unload Me
End Sub
'Pour le formulaire
Private Sub Userform_Initialize()
Dim J As Long
Dim I As Integer
ComboBox1.ColumnCount = 1 'Pour les types d'employés
ComboBox1.List() = Array("Temps plein", "Partiel", "Salarié")
Set Ws = Sheets("Feuil1") 'Nom de l'onglet
Dim H As Integer
ComboBox2.ColumnCount = 1 'Pour les types de quart
ComboBox2.List() = Array("C", "D", "E", "AHP JOUR", "AHP SOIR", "CUSTOM")
Set Ws = Sheets("Feuil1") 'Nom de l'onglet
Dim G As Integer
ComboBox3.ColumnCount = 1 'Pour les types de départements
ComboBox3.List() = Array("VRAC", "MODULES", "EXPEDITION", "RECEPTION", "CARISTE", "AHP", "MAINTENANCE", "AUTRE")
Set Ws = Sheets("Feuil1") 'Nom de l'onglet
Dim F As Integer
ComboBox4.ColumnCount = 1 'Pour les types d'incidents
ComboBox4.List() = Array("Avec lésion", "Sans lésion", "SEM")
Set Ws = Sheets("Feuil1") 'Nom de l'onglet
Dim E As Integer
ComboBox5.ColumnCount = 1 'Pour les types de bâtiments
ComboBox5.List() = Array("1S", "1N", "2S", "2N", "3S", "3N", "4S", "4N")
Set Ws = Sheets("Feuil1") 'Nom de l'onglet
Dim D As Integer
ComboBox6.ColumnCount = 1 'Pour les types de véhicules
ComboBox6.List() = Array("Walkie simple", "Walkie double", "Walkie triple", "Walkie triple ELF", "Reach", "Towtruck", "Contre balance", "CB clamp", "Dockstocker", "DS Clamp", "Taylor Dunn")
Set Ws = Sheets("Feuil1") 'Nom de l'onglet
End Sub
'Pour le bouton Nouveau cas
Private Sub CommandButton1_Click()
Dim L As Integer
If MsgBox("Confirmez-vous l’insertion de ce nouveau cas ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
L = Sheets("Feuil1").Range("a65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
Range("A" & L).Value = ComboBox7
Range("B" & L).Value = TextBox2
Range("C" & L).Value = TextBox3
Range("D" & L).Value = TextBox4
Range("E" & L).Value = ComboBox1
Range("F" & L).Value = ComboBox2
Range("G" & L).Value = ComboBox3
Range("H" & L).Value = ComboBox4
Range("I" & L).Value = OptionButton1
Range("J" & L).Value = TextBox5
Range("K" & L).Value = TextBox6
Range("L" & L).Value = ComboBox5
Range("M" & L).Value = TextBox7
Range("N" & L).Value = ComboBox6
Range("O" & L).Value = TextBox8
End If
End Sub
'Pour le bouton Modifier un cas
Private Sub CommandButton2_Click()
Dim Ligne As Long
Dim I As Integer
If MsgBox("Confirmez-vous la modification de ce cas ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
If Me.ComboBox7.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox7.ListIndex + 2
Ws.Cells(Ligne, "B") = TextBox2
For I = 1 To 15
If Me.Controls("TextBox" & I).Visible = True Then
Ws.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)
End If
Next I

End If
End Sub
A voir également:
- Problème avec un formulaire Excel
- Whatsapp formulaire opposition - Guide
- Liste déroulante excel - Guide
- Formulaire de réclamation facebook - Guide
- Word et excel gratuit - Guide
- Trier un tableau excel - Guide
2 réponses
BONJOUR Marc
Pour aller plus vite et nous éviter de "reconstituer" ton formulaire ; peux tu envoyer le fichier anonymisé.
https://www.cjoint.com/
Je te mettrais le lien du fichier modifié
Cdt
Pour aller plus vite et nous éviter de "reconstituer" ton formulaire ; peux tu envoyer le fichier anonymisé.
https://www.cjoint.com/
Je te mettrais le lien du fichier modifié
Cdt
Ci-dessous le lien du fichier modifié
J'y ai apporté quelques modifications et ajouté de nouvelles fonctionnalités .
Vous pourrez l'adapter à votre projet.
Dites moi s'il vous faut plus .
https://www.cjoint.com/c/GBAvHriPocA
Cdt
J'y ai apporté quelques modifications et ajouté de nouvelles fonctionnalités .
Vous pourrez l'adapter à votre projet.
Dites moi s'il vous faut plus .
https://www.cjoint.com/c/GBAvHriPocA
Cdt