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

XL 2019 Copie d'une ligne d'un tableau structuré à un autre - Aide

thespeedy20

XLDnaute Occasionnel
Bonjour le Forum,

J'utilisais un code de Dranreb (merci à lui) que j'ai trouverai sur ce forum...tout fonctionnait super bien et plus rien...

J'ai 1 feuille client, une autre A_client - 1 formulaire avec deux combobox

le but c 'est de pouvoir archiver un client et de pouvoir également de nouveau le récupérer dans le tableau

je joins mon fichier

Merci d'avance

OLi
 

Pièces jointes

  • Sup clients_ver2.xlsm
    45.8 KB · Affichages: 6
Solution
Bonjour.
Il y a déjà un souci dans la Sub UserForm_Initialize:
VB:
Private Sub UserForm_Initialize()
   Dim T()
   Set Tabclient = Worksheets("Clients").ListObjects("Tableau1")
   Set TabArch = Worksheets("A_Clients").ListObjects("Tableau2")
   Select Case Tabclient.ListRows.Count
      Case 1: ReDim T(1 To 1, 1 To 1): T(1, 1) = Tabclient.ListColumns("Nom & Prénom").DataBodyRange.Value
      Case Is > 1: ComboBox1.List = Tabclient.ListColumns("Nom & Prénom").DataBodyRange.Value: End Select
   Select Case TabArch.ListRows.Count
      Case 1: ReDim T(1 To 1, 1 To 1): T(1, 1) = TabArch.ListColumns("Nom & Prénom").DataBodyRange.Value
      Case Is > 1: ComboBox2.List = TabArch.ListColumns("Nom & Prénom").DataBodyRange.Value: End Select...

Dranreb

XLDnaute Barbatruc
Bonjour.
Il y a déjà un souci dans la Sub UserForm_Initialize:
VB:
Private Sub UserForm_Initialize()
   Dim T()
   Set Tabclient = Worksheets("Clients").ListObjects("Tableau1")
   Set TabArch = Worksheets("A_Clients").ListObjects("Tableau2")
   Select Case Tabclient.ListRows.Count
      Case 1: ReDim T(1 To 1, 1 To 1): T(1, 1) = Tabclient.ListColumns("Nom & Prénom").DataBodyRange.Value
      Case Is > 1: ComboBox1.List = Tabclient.ListColumns("Nom & Prénom").DataBodyRange.Value: End Select
   Select Case TabArch.ListRows.Count
      Case 1: ReDim T(1 To 1, 1 To 1): T(1, 1) = TabArch.ListColumns("Nom & Prénom").DataBodyRange.Value
      Case Is > 1: ComboBox2.List = TabArch.ListColumns("Nom & Prénom").DataBodyRange.Value: End Select
   End Sub
 

thespeedy20

XLDnaute Occasionnel
Bonjour Dranreb,

Merci pour ton aide

Mon userform apparait maintenant, je sais archiver mais quand je veux récupérer j'ai une erreur de compilation argument non facultatif sur le bouton récupération

VB:
LRwPlan2.Value = RngArch2.Range.Value

OLi
 

Dranreb

XLDnaute Barbatruc
Dans le sens Archive vous affecter un Value de Range à autre Value de Range, là ça va.
Dans l'autre sens vous faites n'importe quoi, notamment en intervertissant
RngArch2 et LRwPlan2
.
 

thespeedy20

XLDnaute Occasionnel
re,

Dranreb,

je tiens encore à te remercier pour ton aide, j ai modifié le code du bouton 2 comme ceci et cela fonctionne...

VB:
Private Sub CommandButton2_Click()
  
   Dim LRwPlan2 As ListRow, RngArch2 As Range
   If Not ComboBox2.MatchFound Then Exit Sub
   Set LRwPlan2 = TabArch.ListRows(ComboBox2.ListIndex + 1)
   Set RngArch2 = Tabclient.ListRows.Add.Range
    RngArch2.Value = LRwPlan2.Range.Value
  
   LRwPlan2.Delete
   MsgBox Prompt:="Ancien client(e) réintégré avec succès !", Buttons:=vbOKOnly, Title:="Réintégration d'un(e)client(e) réussi(e)"
   Unload Me
  
End Sub

Encore merci

OLi
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…