Code VBA ne fonctionne pas
jus2mandarine
Messages postés
226
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour Chers tous,
Sur la feuille "Booking" du fichier Excel dont l'accès est possible à partir du lien ci-dessous, j'aimerai faire respectivement faire l'enregistrement soit d'un client sur la colonne F, soit d'un fournisseur sur la colonne E. Pour cela, j'ai écrit un code VBA sur la feuille Userform nommée "Add_booking". Malheureusement, le code que j'ai écrit ne marche pas.
https://cjoint.com/c/LGupQyCTht3
Merci de m'aider à trouver une solution
Cordialement /-
A voir également:
- Code VBA ne fonctionne pas
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
4 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
"ne marche pas": cela fait quoi?
Bonjour yg_be,
Seule la colonne F enregistre, alors que dans le code, c'est soit la colonne E, soit la colonne F qui devraient enregistrer
Option Explicit Public memoire As Integer Private Sub CommandButton1_Click() If Me.Txt_facture <> "" And Me.Txt_nombre <> "" And Me.Cbx_order.ListIndex >= 0 And Me.Cbx_type.ListIndex >= 0 Then With Me.List_order .AddItem .List(memoire, 0) = Me.Cbx_article .List(memoire, 1) = Me.Txt_nombre End With memoire = memoire + 1 Me.Cbx_article = "" Me.Txt_nombre = "" End If End Sub Private Sub CommandButton2_Click() Dim DL As Integer Dim list_nombre As Integer Dim ligne As Integer list_nombre = Me.List_order.ListCount - 1 If Me.List_order.ListCount > 0 Then 'controle si la liste est vide If MsgBox("Voulez-vous enregistrer cette transaction ?", vbYesNo) = vbYes Then For ligne = 0 To list_nombre 'Ajouter une nouvelle ligne dans le tableau Sheets(5).ListObjects("tableau5").ListRows.Add 'Chercher le nombre de la prochaine ligne libre dans notre tableau DL = Sheets(5).Range("b65536").End(xlUp).Row 'Ajouter les informations dans notre base de données Sheets(5).Range("B" & DL) = Me.info1 Sheets(5).Range("C" & DL) = Me.Txt_facture Sheets(5).Range("D" & DL) = Me.Cbx_order 'Controler si cest un fournisseur ou un client If Me.Label_type = "fournisseur:" Then Sheets(5).Range("E" & DL) = Me.Cbx_type Else Sheets(5).Range("F" & DL) = Me.Cbx_type End If 'Ajouter les données Sheets(5).Range("G" & DL) = Me.List_order.List(ligne, 0) Sheets(5).Range("H" & DL) = CInt(Me.List_order.List(ligne, 1)) Next ligne MsgBox "Le Booking est fait" Unload Me ThisWorkbook.Save End If End If End Sub Private Sub List_order_DblClick(ByVal Cancel As MSForms.ReturnBoolean) If Me.List_order.ListIndex >= 0 Then If MsgBox("Voulez-vous supprimer cette entrée ?", vbYesNo) = vbYes Then Me.List_order.RemoveItem Me.List_order.ListIndex memoire = memoire - 1 End If End If End Sub Private Sub Option_entree_Click() Me.Label_type = "Fournisseur:" Me.Cbx_type.RowSource = "fournisseur" Me.Cbx_order.RowSource = "order_id" Me.info1 = "Entrée" End Sub Private Sub Option_sortie_Click() Me.Label_type = "Client:" Me.Cbx_type.RowSource = "Client" Me.Cbx_order.RowSource = "order_id" Me.info1 = "Sortie" End Sub Private Sub Txt_nombre_Change() 'Contrôle s'il y a un nombre If Not IsNumeric(Txt_nombre) And Txt_nombre <> "" Then MsgBox "Désolé, saisir uniquement des chiffres !" Txt_nombre = "" End If End Sub Private Sub UserForm_Initialize() Me.Label_info.Caption = Sheets(8).Range("e21").Value End Sub