Dans un UserForm j'ai ce code ci dessous qui me permet de créer des
enregistrements dans un tableau.
J'ai ajouté un bouton Modifier et Supprimer
Après avoir cliqué sur une valeur dans une ListBox, cela m'affiche
l'enregistrement sélectionner dans un TextBox
J'aimerais pouvoir modifier l'enregistrement en cliquant sur Modifier et
pouvoir Supprimer l'enregistrement en cliquant sur Supprimer !
Étant novice et après quelques recherches, je n'y arrive pas.
Merci de votre aide
Private Sub UserForm_Initialize()
LsbModePaiement.RowSource = ("BD!MODEPAIEMENT")
LsbModePaiement.ListIndex = -1
TxtModePaiement.Value = ""
End Sub
Private Sub CmdModePaiementNouveau_Click()
Sheets("BD").Activate
num = Sheets("BD").Range("K65536").End(xlUp).Row + 1
Range("K" & num).Value = TxtModePaiement.Value
UserForm_Initialize
Sheets("MENU").Activate
End Sub
Private Sub LsbModePaiement_Click()
TxtModePaiement.Value = LsbModePaiement.Value
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pounet95
Bonsoir David,
Si j'ai compris ton problème, voici mes suggestions : à copier dans le code de ton userform Attention dans la base de données BD , ici la liste commence en colonne A ligne 3 Il n'y a pas de gestion de la valeur du txtModePaiement ni d'autres erreurs possibles telles que la duplication de données existantes après un click dans la liste qui met la valeur dans le txt ni ce qui se passe quand il n'y a plus de mode de paiement !!!!
A toi d'adapter Pounet95
Private Sub UserForm_Initialize() Liste_Modes_Paiement lsbMODEPAIEMENT.ListIndex = -1 txtModePaiement.Text = "" End Sub
Private Sub CmdModePaiementNouveau_Click() With Sheets("BD") num = .Range("A65536").End(xlUp).Row + 1 .Range("A" & num).Value = txtModePaiement.Text End With 'recalculer la liste Liste_Modes_Paiement End Sub
Private Sub LsbModePaiement_Click() txtModePaiement.Text = lsbMODEPAIEMENT.List(lsbMODEPAIEMENT.ListIndex) End Sub
Private Sub CmdModePaiementModifier_Click() 'index dans liste déroulante ndx = lsbMODEPAIEMENT.ListIndex 'la 1ère ligne de la BD est 3 qui correspond à LisIndex=0 'donc, décaler d'autant pour retrouver la ligne With Sheets("BD") .Cells(ndx + 3, 1) = txtModePaiement.Text End With End Sub
Private Sub CmdModePaiementSupprimer_Click() 'Récupérer Index ndx = lsbMODEPAIEMENT.ListIndex 'D'abord vider la référence à la liste déroulante lsbMODEPAIEMENT.RowSource = "" 'la 1ère ligne de la BD est 3 qui correspond à LisIndex=0 'donc, décaler d'autant pour retrouver la ligne With Sheets("BD") .Cells(ndx + 3, 1).EntireRow.Delete End With 'Effacer texte txtModePaiement.Text = "" 'recalculer la liste Liste_Modes_Paiement End Sub
Private Sub Liste_Modes_Paiement() On Error Resume Next ActiveWorkbook.Names("ModePaiement").Delete With Sheets("BD") .Activate deb = 3 ' 1ére ligne de données fin = .[A65536].End(xlUp).Row 'dernière ligne .Range(.Cells(deb, 1), .Cells(fin, 1)).Select ActiveWorkbook.Names.Add Name:="ModePaiement", RefersTo:=Selection End With 'Réaffecter la liste lsbMODEPAIEMENT.RowSource = "ModePaiement" End Sub
"DAVID" a écrit dans le message de groupe de discussion : OYp#
Bonjour à tous
Dans un UserForm j'ai ce code ci dessous qui me permet de créer des enregistrements dans un tableau.
J'ai ajouté un bouton Modifier et Supprimer
Après avoir cliqué sur une valeur dans une ListBox, cela m'affiche l'enregistrement sélectionner dans un TextBox
J'aimerais pouvoir modifier l'enregistrement en cliquant sur Modifier et pouvoir Supprimer l'enregistrement en cliquant sur Supprimer !
Étant novice et après quelques recherches, je n'y arrive pas.
Merci de votre aide
Private Sub UserForm_Initialize() LsbModePaiement.RowSource = ("BD!MODEPAIEMENT") LsbModePaiement.ListIndex = -1 TxtModePaiement.Value = "" End Sub
Private Sub CmdModePaiementNouveau_Click() Sheets("BD").Activate num = Sheets("BD").Range("K65536").End(xlUp).Row + 1 Range("K" & num).Value = TxtModePaiement.Value UserForm_Initialize Sheets("MENU").Activate End Sub
Private Sub LsbModePaiement_Click() TxtModePaiement.Value = LsbModePaiement.Value End Sub
Private Sub CmdModePaiementModifier_Click()
End Sub
Private Sub CmdModePaiementSupprimer_Click()
End Sub
Bonsoir David,
Si j'ai compris ton problème, voici mes suggestions : à copier dans le code
de ton userform
Attention dans la base de données BD , ici la liste commence en colonne A
ligne 3
Il n'y a pas de gestion de la valeur du txtModePaiement ni d'autres erreurs
possibles
telles que la duplication de données existantes après un click dans la liste
qui met la valeur dans le txt
ni ce qui se passe quand il n'y a plus de mode de paiement !!!!
A toi d'adapter
Pounet95
Private Sub UserForm_Initialize()
Liste_Modes_Paiement
lsbMODEPAIEMENT.ListIndex = -1
txtModePaiement.Text = ""
End Sub
Private Sub CmdModePaiementNouveau_Click()
With Sheets("BD")
num = .Range("A65536").End(xlUp).Row + 1
.Range("A" & num).Value = txtModePaiement.Text
End With
'recalculer la liste
Liste_Modes_Paiement
End Sub
Private Sub LsbModePaiement_Click()
txtModePaiement.Text = lsbMODEPAIEMENT.List(lsbMODEPAIEMENT.ListIndex)
End Sub
Private Sub CmdModePaiementModifier_Click()
'index dans liste déroulante
ndx = lsbMODEPAIEMENT.ListIndex
'la 1ère ligne de la BD est 3 qui correspond à LisIndex=0
'donc, décaler d'autant pour retrouver la ligne
With Sheets("BD")
.Cells(ndx + 3, 1) = txtModePaiement.Text
End With
End Sub
Private Sub CmdModePaiementSupprimer_Click()
'Récupérer Index
ndx = lsbMODEPAIEMENT.ListIndex
'D'abord vider la référence à la liste déroulante
lsbMODEPAIEMENT.RowSource = ""
'la 1ère ligne de la BD est 3 qui correspond à LisIndex=0
'donc, décaler d'autant pour retrouver la ligne
With Sheets("BD")
.Cells(ndx + 3, 1).EntireRow.Delete
End With
'Effacer texte
txtModePaiement.Text = ""
'recalculer la liste
Liste_Modes_Paiement
End Sub
Private Sub Liste_Modes_Paiement()
On Error Resume Next
ActiveWorkbook.Names("ModePaiement").Delete
With Sheets("BD")
.Activate
deb = 3 ' 1ére ligne de données
fin = .[A65536].End(xlUp).Row 'dernière ligne
.Range(.Cells(deb, 1), .Cells(fin, 1)).Select
ActiveWorkbook.Names.Add Name:="ModePaiement", RefersTo:=Selection
End With
'Réaffecter la liste
lsbMODEPAIEMENT.RowSource = "ModePaiement"
End Sub
"DAVID" <direction-ternoise@wanadoo.fr> a écrit dans le message de groupe de
discussion : OYp#EhgkKHA.5568@TK2MSFTNGP02.phx.gbl...
Bonjour à tous
Dans un UserForm j'ai ce code ci dessous qui me permet de créer des
enregistrements dans un tableau.
J'ai ajouté un bouton Modifier et Supprimer
Après avoir cliqué sur une valeur dans une ListBox, cela m'affiche
l'enregistrement sélectionner dans un TextBox
J'aimerais pouvoir modifier l'enregistrement en cliquant sur Modifier et
pouvoir Supprimer l'enregistrement en cliquant sur Supprimer !
Étant novice et après quelques recherches, je n'y arrive pas.
Merci de votre aide
Private Sub UserForm_Initialize()
LsbModePaiement.RowSource = ("BD!MODEPAIEMENT")
LsbModePaiement.ListIndex = -1
TxtModePaiement.Value = ""
End Sub
Private Sub CmdModePaiementNouveau_Click()
Sheets("BD").Activate
num = Sheets("BD").Range("K65536").End(xlUp).Row + 1
Range("K" & num).Value = TxtModePaiement.Value
UserForm_Initialize
Sheets("MENU").Activate
End Sub
Private Sub LsbModePaiement_Click()
TxtModePaiement.Value = LsbModePaiement.Value
End Sub
Si j'ai compris ton problème, voici mes suggestions : à copier dans le code de ton userform Attention dans la base de données BD , ici la liste commence en colonne A ligne 3 Il n'y a pas de gestion de la valeur du txtModePaiement ni d'autres erreurs possibles telles que la duplication de données existantes après un click dans la liste qui met la valeur dans le txt ni ce qui se passe quand il n'y a plus de mode de paiement !!!!
A toi d'adapter Pounet95
Private Sub UserForm_Initialize() Liste_Modes_Paiement lsbMODEPAIEMENT.ListIndex = -1 txtModePaiement.Text = "" End Sub
Private Sub CmdModePaiementNouveau_Click() With Sheets("BD") num = .Range("A65536").End(xlUp).Row + 1 .Range("A" & num).Value = txtModePaiement.Text End With 'recalculer la liste Liste_Modes_Paiement End Sub
Private Sub LsbModePaiement_Click() txtModePaiement.Text = lsbMODEPAIEMENT.List(lsbMODEPAIEMENT.ListIndex) End Sub
Private Sub CmdModePaiementModifier_Click() 'index dans liste déroulante ndx = lsbMODEPAIEMENT.ListIndex 'la 1ère ligne de la BD est 3 qui correspond à LisIndex=0 'donc, décaler d'autant pour retrouver la ligne With Sheets("BD") .Cells(ndx + 3, 1) = txtModePaiement.Text End With End Sub
Private Sub CmdModePaiementSupprimer_Click() 'Récupérer Index ndx = lsbMODEPAIEMENT.ListIndex 'D'abord vider la référence à la liste déroulante lsbMODEPAIEMENT.RowSource = "" 'la 1ère ligne de la BD est 3 qui correspond à LisIndex=0 'donc, décaler d'autant pour retrouver la ligne With Sheets("BD") .Cells(ndx + 3, 1).EntireRow.Delete End With 'Effacer texte txtModePaiement.Text = "" 'recalculer la liste Liste_Modes_Paiement End Sub
Private Sub Liste_Modes_Paiement() On Error Resume Next ActiveWorkbook.Names("ModePaiement").Delete With Sheets("BD") .Activate deb = 3 ' 1ére ligne de données fin = .[A65536].End(xlUp).Row 'dernière ligne .Range(.Cells(deb, 1), .Cells(fin, 1)).Select ActiveWorkbook.Names.Add Name:="ModePaiement", RefersTo:=Selection End With 'Réaffecter la liste lsbMODEPAIEMENT.RowSource = "ModePaiement" End Sub
"DAVID" a écrit dans le message de groupe de discussion : OYp#
Bonjour à tous
Dans un UserForm j'ai ce code ci dessous qui me permet de créer des enregistrements dans un tableau.
J'ai ajouté un bouton Modifier et Supprimer
Après avoir cliqué sur une valeur dans une ListBox, cela m'affiche l'enregistrement sélectionner dans un TextBox
J'aimerais pouvoir modifier l'enregistrement en cliquant sur Modifier et pouvoir Supprimer l'enregistrement en cliquant sur Supprimer !
Étant novice et après quelques recherches, je n'y arrive pas.
Merci de votre aide
Private Sub UserForm_Initialize() LsbModePaiement.RowSource = ("BD!MODEPAIEMENT") LsbModePaiement.ListIndex = -1 TxtModePaiement.Value = "" End Sub
Private Sub CmdModePaiementNouveau_Click() Sheets("BD").Activate num = Sheets("BD").Range("K65536").End(xlUp).Row + 1 Range("K" & num).Value = TxtModePaiement.Value UserForm_Initialize Sheets("MENU").Activate End Sub
Private Sub LsbModePaiement_Click() TxtModePaiement.Value = LsbModePaiement.Value End Sub
Private Sub CmdModePaiementModifier_Click()
End Sub
Private Sub CmdModePaiementSupprimer_Click()
End Sub
DAVID
Merci pour le travail que tu m'a accordé.
Je vais essayer de comprendre le principe afin de l'adapter à mon projet.
1ère question ! Liste_Modes_Paiement
C quoi ? D'ou ça vient ?
Merci pour le travail que tu m'a accordé.
Je vais essayer de comprendre le principe afin de l'adapter à mon projet.