Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Copie de donnée vers feuill

  • Initiateur de la discussion Initiateur de la discussion mohaamri
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mohaamri

XLDnaute Nouveau
Salut
j'ai essayé de trouver une solution pour modifier les cellules avec deux textbox mais un bug apparait svp yat'il modification pour ce code vba

 

Pièces jointes

Bonjour.
Essayez comme ça :
VB:
Option Explicit
Private Rng As Range, LCou As Long
Private Sub UserForm_Initialize()
   Set Rng = Feuil1.[A1].Resize(Feuil1.[A1000000].End(xlUp).Row, 2)
   With ListBox3
      .ColumnCount = 3
      .ColumnWidths = "40;60;40"
      .List = Rng.Value
      End With
   End Sub
Private Sub ListBox3_Click()
   LCou = ListBox3.ListIndex + 1
   TextBox3.Text = Rng(LCou, 1).Value
   TextBox4.Text = Rng(LCou, 2).Value
   End Sub
Private Sub CommandButton1_Click()
   If LCou = 0 Then Exit Sub
   Rng(LCou, 1).Value = TextBox3.Text
   Rng(LCou, 2).Value = TextBox4.Text
   ListBox3.List = Rng.Value
   End Sub
 
Bonjour mohaamri, Bernard, le forum,

Si l'on veut avoir le choix entre ajouter, modifier, supprimer :
VB:
Dim P As Range 'mémorise la variable

Private Sub CommandButton1_Click() 'Ajouter
If TextBox3 = "" Then TextBox3.SetFocus: Exit Sub
If Application.CountIf(P.Columns(1), TextBox3) Then MsgBox "'" & TextBox3 & "' existe déjà...": Exit Sub
P(P.Rows.Count + 1, 1) = TextBox3
P(P.Rows.Count + 1, 2) = TextBox4
UserForm_Initialize
End Sub

Private Sub CommandButton2_Click() 'Modifier
If ListBox3.ListIndex = -1 Then MsgBox "Sélectionnez une ligne...": Exit Sub
If TextBox3 = "" Then TextBox3.SetFocus: Exit Sub
P(ListBox3.ListIndex + 2, 1) = TextBox3
P(ListBox3.ListIndex + 2, 2) = TextBox4
UserForm_Initialize
End Sub

Private Sub CommandButton3_Click() 'Supprimer
If ListBox3.ListIndex = -1 Then MsgBox "Sélectionnez une ligne...": Exit Sub
If MsgBox("Supprimer '" & ListBox3 & "' ?", 4) = 7 Then Exit Sub
P.Rows(ListBox3.ListIndex + 2).Delete xlUp
UserForm_Initialize
End Sub

Private Sub ListBox3_Click()
TextBox3 = ListBox3.Column(0)
TextBox4 = ListBox3.Column(1)
End Sub

Private Sub UserForm_Initialize()
Set P = Sheets("AMRI").[A1].CurrentRegion
If P.Rows.Count = 1 Then ListBox3.Clear: CommandButton2.Enabled = False: CommandButton3.Enabled = False: Exit Sub
P.Sort P(1), xlAscending, Header:=xlYes 'tri alphabétique
ListBox3.List = P.Rows(2).Resize(P.Rows.Count - 1, 2).Value
End Sub
A+
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
354
Réponses
3
Affichages
230
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…