Transfer listbox

Bonjour a vous!

je bloque sur le transfert de plusieurs listbox d'un USF vers un tableau de plusieurs colonnes ( de lettres et nombres )

nom, adresse, et téléphone.ect...

dans ce tableau les renseignements s'accumulent les un a la suite en descendant pour chaque colonne. le userform4 qui est pour la liste de client.

   Private Sub CommandButton2_Click()
    Dim NLign As Integer
    NLign = Range("B1").End(xlUp).Row + 1

    If IsError(Range("B1").End(xlDown).Row) Then
    NLign = 2
Else
    NLign = Range("B1").End(xlUp).Row + 1
End If
Range("B" & NLign) = Txtnom
Sheets("client").Cells(NLign, 1) = Txtnom
Sheets("client").Cells(NLign, 2) = Txtcompagnie
Sheets("client").Cells(NLign, 3) = Txtadresse
Sheets("client").Cells(NLign, 4) = Txtadresse1
Sheets("client").Cells(NLign, 5) = Txtcodepostale
Sheets("client").Cells(NLign, 6) = TxtTel
Sheets("client").Cells(NLign, 7) = Txtcellulaire
Sheets("client").Cells(NLign, 8) = TxtFax

  With Sheets("client").ListObjects("bas")
    If .ListRows.Count = 0 Then
        Range("bas[[#Headers],[Nom]]").Offset(1, 0) = 1
        Range("bas[[#Headers],[Nom]]").Offset(1, 0) = ""
    End If

    If .ListRows.Count = 1 And .ListRows(1).Range.Cells(1, 1) = "" Then
        Set LignTablo = Sheets("client").ListObjects("bas").ListRows(1)
    Else
        Set LignTablo = Range("bas").ListObject.ListRows.Add(AlwaysInsert:=True)
    End If
End With

With LignTablo.Range
    .Cells(1, 1) = Txtnom
    .Cells(1, 2) = Txtcompagnie
    .Cells(1, 3) = Txtadresse
    .Cells(1, 4) = Txtadresse1
    .Cells(1, 5) = Txtcodepostale
    .Cells(1, 6) = TxtTel
    .Cells(1, 7) = Txtcellulaire
    .Cells(1, 8) = TxtFax

End With

Unload UserForm4
End Sub
Private Sub CommandButton1_Click()

     Unload Me
End Sub

je met mon fichier,

je sais que c'est pas fameux mais j’essaie ,lol

merci, a+

Bonjour,

Il faut faire attention aux noms (et à l'ordre...) de tes contrôles ...

Sheets("client").Cells(NLign, 1) = TextBox1.Value
Sheets("client").Cells(NLign, 2) = TextBox2.Value
Sheets("client").Cells(NLign, 3) = TextBox9.Value
Sheets("client").Cells(NLign, 4) = TextBox3.Value
Sheets("client").Cells(NLign, 5) = TextBox4.Value
Sheets("client").Cells(NLign, 6) = TextBox5.Value
Sheets("client").Cells(NLign, 7) = TextBox6.Value
Sheets("client").Cells(NLign, 8) = TextBox7.Value

bonjours!

merci! j'apprécie.

j'ai une autre question, pourquoi le Transfer de données ( des textboxs du USF4) se font toujours a la ligne 10 du tableau bas de la feuille client?, cela devrait ce faire de la ligne du début en descendant ainsi de suite!

bon journée. a+

Private Sub CommandButton2_Click()
    Dim NLign As Integer
    NLign = Range("A1").End(xlDown).Row + 1
        If IsError(Range("A1").End(xlDown).Row) Then
    NLign = 1
Else
    NLign = Range("A1").End(xlDown).Row + 1
End If

Range("A" & NLign) = Txtnom

Sheets("client").Cells(NLign, 2) = TextBox2.Value
Sheets("client").Cells(NLign, 3) = TextBox9.Value
Sheets("client").Cells(NLign, 4) = TextBox3.Value
Sheets("client").Cells(NLign, 5) = TextBox4.Value
Sheets("client").Cells(NLign, 6) = TextBox5.Value
Sheets("client").Cells(NLign, 7) = TextBox6.Value
Sheets("client").Cells(NLign, 8) = TextBox7.Value
Sheets("client").Cells(NLign, 9) = TextBox8.Value

  With Sheets("client").ListObjects("bas")
    If .ListRows.Count = 0 Then
        Range("bas[[#Headers],[Nom]]").Offset(1, 0) = 1
        Range("bas[[#Headers],[Nom]]").Offset(1, 0) = ""
    End If

    If .ListRows.Count = 1 And .ListRows(1).Range.Cells(1, 1) = "" Then
        Set LignTablo = Sheets("client").ListObjects("bas").ListRows(1)
    Else
        Set LignTablo = Range("bas").ListObject.ListRows.Add(AlwaysInsert:=True)
    End If
End With

With LignTablo.Range
    .Cells(1, 3) = Txtnom
    .Cells(1, 2) = Txtcompagnie
    .Cells(1, 4) = Txtadresse
    .Cells(1, 5) = Txtadresse1
    .Cells(1, 6) = Txtcodepostale
    .Cells(1, 7) = TxtTel
    .Cells(1, 8) = Txtcellulaire
    .Cells(1, 9) = TxtFax

End With

Unload UserForm4
End Sub
Private Sub CommandButton1_Click()

     Unload Me
End Sub 

Re,

Content que cela fonctionne ...

Pour ce qui concerne ta dernière ligne ... je te propose le code suivant :

NLign = Range("B150").End(xlUp).Row + 1

bonjour!

J,ai toujour le meme probleme mais il a changer de ligne ( ligne 17) j'ai beau essayer mais je comprend pas . tout ce copie bien au bonne colonne mais pas a la bonne ligne.

c'est quoi qui dis d'aller a la ligne 17 ou a la ligne 10...?

merci, a+

Re,

Dans ta colonne B ... tu dois être sûr que des espaces ou des blancs ne sont pas présents ...

Je te conseille d'effacer toutes les lignes "vides" de ta colonne B ...

bonjour!

voila c'est corriger et fonctionnel. je sais que c'est pas ce qu'il y a de mieux mais sa me convient!

bien sur il y a toujours place a amélioration mais vue mes connaissances très pauvres en la matière je m'en contente.

encore une fois merci beaucoup!

A+

Re,

Content que cela fonctionne ...

Merci pour tes remerciements ...

P.S. on ne peut progresser ... qu'étape après étape ...

comment on fait message résolu?

Rechercher des sujets similaires à "transfer listbox"