Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Envoye des données provenant d'une listbox

11 réponses
Avatar
Jacques
Salut a toute et tous

J'ai une listbox multicolonne (5 colonnes), mais je n'enverrai dans ma
feuille que 4 colonne.

colonne 1 : Désignation
colonne 2 : Référence
colonne 3 : Quantité
colonne 4 : prix unitaire
colonne 5 : prix total (qui sert juste de visu, car le prix*quantité, ce
fait dans la feuille)

Mes données commencent a la ligne 24 et soront envoyées comme suis :

La colonne 1 correspond a la colonne C
La colonne 2 correspond a la colonne B
La colonne 3 correspond à la colonne A
La colonne 4 correspond à la colonne E

Donc une fois ma listbox rempli, j'aimerais soit envoyé une selection soit
tout envoyé, es-ce possible ?

Merci pour votre aide, Jacques

10 réponses

1 2
Avatar
papou
Bonjour
Oui c'est possible.
Pour renvoyer les entrées d'une listbox à plusieurs colonnes le mieux c'est
d'utiliser la propriété List, sachant que tu dois décrémenter de la valeur
un (1) le nombre de colonnes et de lignes.
exemple simple avec un contrôle nommé ListBox1 :
ListBox1.List(0,0) te renvoie la valeur ligne 1 colonne 1
ListBox1.List(0,1) te renvoie la valeur ligne 1 colonne 2
etc..

Pour renvoyer toutes les infos, tu peux utiliser la propriété ListCount.
exemple de métthode qui te renverra l'ensemble des valeurs de ta mlistbox (à
adapter à ton besoin) :
For i = 0 To me.listbox1.Count -1
me.listbox1.list(i,0)
me.listbox1.list(i,1)
me.listbox1.list(i,2)
me.listbox1.list(i,3)
me.listbox1.list(i,4)
Next i

Cordialement
Pascal






"Jacques" a écrit dans le message de
news:
Salut a toute et tous

J'ai une listbox multicolonne (5 colonnes), mais je n'enverrai dans ma
feuille que 4 colonne.

colonne 1 : Désignation
colonne 2 : Référence
colonne 3 : Quantité
colonne 4 : prix unitaire
colonne 5 : prix total (qui sert juste de visu, car le prix*quantité, ce
fait dans la feuille)

Mes données commencent a la ligne 24 et soront envoyées comme suis :

La colonne 1 correspond a la colonne C
La colonne 2 correspond a la colonne B
La colonne 3 correspond à la colonne A
La colonne 4 correspond à la colonne E

Donc une fois ma listbox rempli, j'aimerais soit envoyé une selection soit
tout envoyé, es-ce possible ?

Merci pour votre aide, Jacques


Avatar
JB
Bonjour,

Pour récupérer l'élément choisi dans la listbox:

[G1]= Me.ListBox1.Column(1)
[H1]= Me.ListBox1.Column(2)
[I1]= Me.ListBox1.Column(3)
[J1]= Me.ListBox1.Column(4)

Pour récupérer la ligne choisie dans la listbox:

[G1:J1] = Application.Index(Me.ListBox1.List, Me.ListBox1.ListIndex
+ 1)

Pour récupérer la totalité de la source de ListBox:

[G10].Resize(Me.ListBox1.ListCount, Me.ListBox1.ColumnCount) =
Me.ListBox1.List

JB

On 2 avr, 11:30, "papou" <cestpasbon@çanonplus44.fr> wrote:
Bonjour
Oui c'est possible.
Pour renvoyer les entrées d'une listbox à plusieurs colonnes le mieux c'est
d'utiliser la propriété List, sachant que tu dois décrémenter de la valeur
un (1) le nombre de colonnes et de lignes.
exemple simple avec un contrôle nommé ListBox1 :
ListBox1.List(0,0) te renvoie la valeur ligne 1 colonne 1
ListBox1.List(0,1) te renvoie la valeur ligne 1 colonne 2
etc..

Pour renvoyer toutes les infos, tu peux utiliser la propriété ListCou nt.
exemple de métthode qui te renverra l'ensemble des valeurs de ta mlistb ox (à
adapter à ton besoin) :
For i = 0 To me.listbox1.Count -1
me.listbox1.list(i,0)
me.listbox1.list(i,1)
me.listbox1.list(i,2)
me.listbox1.list(i,3)
me.listbox1.list(i,4)
Next i

Cordialement
Pascal

"Jacques" a écrit dans le message d enews: 6430FD01-BA21-4930-9821-767F4CF4D__BEGIN_MASK_n#9g02mG7!__...__END_M ASK_i?a63jfAD$



Salut a toute et tous

J'ai une listbox multicolonne (5 colonnes), mais je n'enverrai dans ma
feuille que 4 colonne.

colonne 1 : Désignation
colonne 2 : Référence
colonne 3 : Quantité
colonne 4 : prix unitaire
colonne 5 : prix total (qui sert juste de visu, car le prix*quantité, ce
fait dans la feuille)

Mes données commencent a la ligne 24 et soront envoyées comme suis :

La colonne 1 correspond a la colonne C
La colonne 2 correspond a la colonne B
La colonne 3 correspond à la colonne A
La colonne 4 correspond à la colonne E

Donc une fois ma listbox rempli, j'aimerais soit envoyé une selection soit
tout envoyé, es-ce possible ?

Merci pour votre aide, Jacques- Masquer le texte des messages précé dents -


- Afficher le texte des messages précédents -



Avatar
Jacques
Salut a vous

Papou et jérome, merci, je vais regarder cela.

Merci, Jacques


Bonjour,

Pour récupérer l'élément choisi dans la listbox:

[G1]= Me.ListBox1.Column(1)
[H1]= Me.ListBox1.Column(2)
[I1]= Me.ListBox1.Column(3)
[J1]= Me.ListBox1.Column(4)

Pour récupérer la ligne choisie dans la listbox:

[G1:J1] = Application.Index(Me.ListBox1.List, Me.ListBox1.ListIndex
+ 1)

Pour récupérer la totalité de la source de ListBox:

[G10].Resize(Me.ListBox1.ListCount, Me.ListBox1.ColumnCount) > Me.ListBox1.List

JB

On 2 avr, 11:30, "papou" <cestpasbon@çanonplus44.fr> wrote:
Bonjour
Oui c'est possible.
Pour renvoyer les entrées d'une listbox à plusieurs colonnes le mieux c'est
d'utiliser la propriété List, sachant que tu dois décrémenter de la valeur
un (1) le nombre de colonnes et de lignes.
exemple simple avec un contrôle nommé ListBox1 :
ListBox1.List(0,0) te renvoie la valeur ligne 1 colonne 1
ListBox1.List(0,1) te renvoie la valeur ligne 1 colonne 2
etc..

Pour renvoyer toutes les infos, tu peux utiliser la propriété ListCount.
exemple de métthode qui te renverra l'ensemble des valeurs de ta mlistbox (à
adapter à ton besoin) :
For i = 0 To me.listbox1.Count -1
me.listbox1.list(i,0)
me.listbox1.list(i,1)
me.listbox1.list(i,2)
me.listbox1.list(i,3)
me.listbox1.list(i,4)
Next i

Cordialement
Pascal

"Jacques" a écrit dans le message denews: 6430FD01-BA21-4930-9821-767F4CF4D__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$



Salut a toute et tous

J'ai une listbox multicolonne (5 colonnes), mais je n'enverrai dans ma
feuille que 4 colonne.

colonne 1 : Désignation
colonne 2 : Référence
colonne 3 : Quantité
colonne 4 : prix unitaire
colonne 5 : prix total (qui sert juste de visu, car le prix*quantité, ce
fait dans la feuille)

Mes données commencent a la ligne 24 et soront envoyées comme suis :

La colonne 1 correspond a la colonne C
La colonne 2 correspond a la colonne B
La colonne 3 correspond à la colonne A
La colonne 4 correspond à la colonne E

Donc une fois ma listbox rempli, j'aimerais soit envoyé une selection soit
tout envoyé, es-ce possible ?

Merci pour votre aide, Jacques- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -








Avatar
Jacques
Salut

Donc j'ai tenté cela mais cela ne fonctionne pas :

Private Sub cmdEditLeDevis_Click()
Dim CoordonneesClients As String
Dim l2, DerrLigne As Integer
Dim i
DerrLigne = Sheets("DevisEtFacture").Range("A52").End(xlUp).Row + 1
l2 = Application.Index(Me.lsbListeDesTravaux.ListIndex + 1)

With Sheets("DevisEtFacture")

CoordonneesClients = "Monsieur " & cbxNomEtPrenomClient.Value & vbCr
If txtNumeroRue.Value <> "" Then CoordonneesClients =
CoordonneesClients _
& txtNumeroRue & " "
If txtRue <> "" Then CoordonneesClients = CoordonneesClients &
txtRue & vbCr
If txtNumeroBat <> "" Then CoordonneesClients = CoordonneesClients _
& txtNumeroBat & " "
If txtBat <> "" Then CoordonneesClients = CoordonneesClients &
txtBat & vbCr
CoordonneesClients = CoordonneesClients & txtCodePostale & " " &
txtVille
.lblCoordonnesClient = CoordonneesClients
For i = 0 To Me.lsbListeDesTravaux.Count - 1
.Range("C" & DerrLigne).Value =
Me.lsbListeDesTravaux.List(i, 0)
.Range("B" & DerrLigne).Value =
Me.lsbListeDesTravaux.List(i, 1)
.Range("A" & DerrLigne).Value =
Me.lsbListeDesTravaux.List(i, 2)
.Range("E" & DerrLigne).Value =
Me.lsbListeDesTravaux.List(i, 3)
Next i
End With
End Sub

J'ai une erreur :

Membre de méthode ou de données introuvable et cela surligne ".Count", dans
cette partie du code :

For i = 0 To Me.lsbListeDesTravaux.Count - 1

Merci pour votre aide, Jacques



Salut a vous

Papou et jérome, merci, je vais regarder cela.

Merci, Jacques


Bonjour,

Pour récupérer l'élément choisi dans la listbox:

[G1]= Me.ListBox1.Column(1)
[H1]= Me.ListBox1.Column(2)
[I1]= Me.ListBox1.Column(3)
[J1]= Me.ListBox1.Column(4)

Pour récupérer la ligne choisie dans la listbox:

[G1:J1] = Application.Index(Me.ListBox1.List, Me.ListBox1.ListIndex
+ 1)

Pour récupérer la totalité de la source de ListBox:

[G10].Resize(Me.ListBox1.ListCount, Me.ListBox1.ColumnCount) > > Me.ListBox1.List

JB

On 2 avr, 11:30, "papou" <cestpasbon@çanonplus44.fr> wrote:
Bonjour
Oui c'est possible.
Pour renvoyer les entrées d'une listbox à plusieurs colonnes le mieux c'est
d'utiliser la propriété List, sachant que tu dois décrémenter de la valeur
un (1) le nombre de colonnes et de lignes.
exemple simple avec un contrôle nommé ListBox1 :
ListBox1.List(0,0) te renvoie la valeur ligne 1 colonne 1
ListBox1.List(0,1) te renvoie la valeur ligne 1 colonne 2
etc..

Pour renvoyer toutes les infos, tu peux utiliser la propriété ListCount.
exemple de métthode qui te renverra l'ensemble des valeurs de ta mlistbox (à
adapter à ton besoin) :
For i = 0 To me.listbox1.Count -1
me.listbox1.list(i,0)
me.listbox1.list(i,1)
me.listbox1.list(i,2)
me.listbox1.list(i,3)
me.listbox1.list(i,4)
Next i

Cordialement
Pascal

"Jacques" a écrit dans le message denews: 6430FD01-BA21-4930-9821-767F4CF4D__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$



Salut a toute et tous

J'ai une listbox multicolonne (5 colonnes), mais je n'enverrai dans ma
feuille que 4 colonne.

colonne 1 : Désignation
colonne 2 : Référence
colonne 3 : Quantité
colonne 4 : prix unitaire
colonne 5 : prix total (qui sert juste de visu, car le prix*quantité, ce
fait dans la feuille)

Mes données commencent a la ligne 24 et soront envoyées comme suis :

La colonne 1 correspond a la colonne C
La colonne 2 correspond a la colonne B
La colonne 3 correspond à la colonne A
La colonne 4 correspond à la colonne E

Donc une fois ma listbox rempli, j'aimerais soit envoyé une selection soit
tout envoyé, es-ce possible ?

Merci pour votre aide, Jacques- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -










Avatar
JB
Bonjour,


With Sheets("DevisEtFacture")
CoordonneesClients = "Monsieur " & cbxNomEtPrenomClient.Value &
vbCr
If txtNumeroRue.Value <> "" Then CoordonneesClients =
CoordonneesClients & txtNumeroRue & " "
If txtRue <> "" Then CoordonneesClients = CoordonneesClients &
txtRue & vbCr
If txtNumeroBat <> "" Then CoordonneesClients = CoordonneesClients
& txtNumeroBat & " "
If txtBat <> "" Then CoordonneesClients = CoordonneesClients &
txtBat & vbCr
CoordonneesClients = CoordonneesClients & txtCodePostale & " " &
txtVille
.lblCoordonnesClient = CoordonneesClients
'--
.Range("C" & DerrLigne).Value = Me.lsbListeDesTravaux.Column(1)
.Range("B" & DerrLigne).Value = Me.lsbListeDesTravaux.Column(2)
.Range("A" & DerrLigne).Value = Me.lsbListeDesTravaux.Column(3)
.Range("E" & DerrLigne).Value = Me.lsbListeDesTravaux.Column(4)
End With

JB


On 2 avr, 21:20, Jacques wrote:
Salut

Donc j'ai tenté cela mais cela ne fonctionne pas :

Private Sub cmdEditLeDevis_Click()
Dim CoordonneesClients As String
Dim l2, DerrLigne As Integer
Dim i
DerrLigne = Sheets("DevisEtFacture").Range("A52").End(xlUp).Row + 1
l2 = Application.Index(Me.lsbListeDesTravaux.ListIndex + 1)

With Sheets("DevisEtFacture")

CoordonneesClients = "Monsieur " & cbxNomEtPrenomClient.Value & vbCr
If txtNumeroRue.Value <> "" Then CoordonneesClients =
CoordonneesClients _
& txtNumeroRue & " "
If txtRue <> "" Then CoordonneesClients = CoordonneesClients &
txtRue & vbCr
If txtNumeroBat <> "" Then CoordonneesClients = CoordonneesClie nts _
& txtNumeroBat & " "
If txtBat <> "" Then CoordonneesClients = CoordonneesClients &
txtBat & vbCr
CoordonneesClients = CoordonneesClients & txtCodePostale & " " &
txtVille
.lblCoordonnesClient = CoordonneesClients
For i = 0 To Me.lsbListeDesTravaux.Count - 1
.Range("C" & DerrLigne).Value =
Me.lsbListeDesTravaux.List(i, 0)
.Range("B" & DerrLigne).Value =
Me.lsbListeDesTravaux.List(i, 1)
.Range("A" & DerrLigne).Value =
Me.lsbListeDesTravaux.List(i, 2)
.Range("E" & DerrLigne).Value =
Me.lsbListeDesTravaux.List(i, 3)
Next i
End With
End Sub

J'ai une erreur :

Membre de méthode ou de données introuvable et cela surligne ".Count" , dans
cette partie du code :

For i = 0 To Me.lsbListeDesTravaux.Count - 1

Merci pour votre aide, Jacques




Salut a vous

Papou et jérome, merci, je vais regarder cela.

Merci, Jacques



Bonjour,

Pour récupérer l'élément choisi dans la listbox:

[G1]= Me.ListBox1.Column(1)
[H1]= Me.ListBox1.Column(2)
[I1]= Me.ListBox1.Column(3)
[J1]= Me.ListBox1.Column(4)

Pour récupérer la ligne choisie dans la listbox:

[G1:J1] = Application.Index(Me.ListBox1.List, Me.ListBox1.ListInd ex
+ 1)

Pour récupérer la totalité de la source de ListBox:

[G10].Resize(Me.ListBox1.ListCount, Me.ListBox1.ColumnCount) =
Me.ListBox1.List

JB

On 2 avr, 11:30, "papou" <cestpasbon@çanonplus44.fr> wrote:
Bonjour
Oui c'est possible.
Pour renvoyer les entrées d'une listbox à plusieurs colonnes le mieux c'est
d'utiliser la propriété List, sachant que tu dois décrément er de la valeur
un (1) le nombre de colonnes et de lignes.
exemple simple avec un contrôle nommé ListBox1 :
ListBox1.List(0,0) te renvoie la valeur ligne 1 colonne 1
ListBox1.List(0,1) te renvoie la valeur ligne 1 colonne 2
etc..

Pour renvoyer toutes les infos, tu peux utiliser la propriété L istCount.
exemple de métthode qui te renverra l'ensemble des valeurs de ta mlistbox (à
adapter à ton besoin) :
For i = 0 To me.listbox1.Count -1
me.listbox1.list(i,0)
me.listbox1.list(i,1)
me.listbox1.list(i,2)
me.listbox1.list(i,3)
me.listbox1.list(i,4)
Next i

Cordialement
Pascal

"Jacques" a écrit dans le mes sage denews: 6430FD01-BA21-4930-9821-767F4CF4D...__END_MASK_i?a63jfAD$__BEG IN_MASK_n#9g02mG7!

Salut a toute et tous

J'ai une listbox multicolonne (5 colonnes), mais je n'enverrai da ns ma
feuille que 4 colonne.

colonne 1 : Désignation
colonne 2 : Référence
colonne 3 : Quantité
colonne 4 : prix unitaire
colonne 5 : prix total (qui sert juste de visu, car le prix*quant ité, ce
fait dans la feuille)

Mes données commencent a la ligne 24 et soront envoyées comme suis :

La colonne 1 correspond a la colonne C
La colonne 2 correspond a la colonne B
La colonne 3 correspond à la colonne A
La colonne 4 correspond à la colonne E

Donc une fois ma listbox rempli, j'aimerais soit envoyé une sel ection soit
tout envoyé, es-ce possible ?

Merci pour votre aide, Jacques- Masquer le texte des messages pr écédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -




- Afficher le texte des messages précédents -






Avatar
Jacques
JB, le forum

JB, merci pour ton aide

Je viens d'essayer, mais en vain, j'ai une erreur 1004, Nb d'artgument non
valide, a la ligne de code : l2 =
Application.Index(Me.lsbListeDesTravaux.ListIndex + 1)


Voici le code au complet du bouton

Private Sub cmdEditLeDevis_Click()
Dim CoordonneesClients As String
Dim l2, DerrLigne As Integer

DerrLigne = Sheets("DevisEtFacture").Range("A52").End(xlUp).Row + 1
l2 = Application.Index(Me.lsbListeDesTravaux.ListIndex + 1)

With Sheets("DevisEtFacture")

CoordonneesClients = "Monsieur " & cbxNomEtPrenomClient.Value & vbCr
If txtNumeroRue.Value <> "" Then CoordonneesClients =
CoordonneesClients _
& txtNumeroRue & " "
If txtRue <> "" Then CoordonneesClients = CoordonneesClients &
txtRue & vbCr
If txtNumeroBat <> "" Then CoordonneesClients = CoordonneesClients _
& txtNumeroBat & " "
If txtBat <> "" Then CoordonneesClients = CoordonneesClients &
txtBat & vbCr
CoordonneesClients = CoordonneesClients & txtCodePostale & " " &
txtVille
.lblCoordonnesClient = CoordonneesClients
.Range("C" & DerrLigne).Value = Me.lsbListeDesTravaux.Column(1)
.Range("B" & DerrLigne).Value = Me.lsbListeDesTravaux.Column(2)
.Range("A" & DerrLigne).Value = Me.lsbListeDesTravaux.Column(3)
.Range("E" & DerrLigne).Value = Me.lsbListeDesTravaux.Column(4)
End With

End Sub


Je vais voir pour mettre un fichier joint, il faut que j'enlève pas mal de
truc.

Merci, Jacques

Bonjour,


With Sheets("DevisEtFacture")
CoordonneesClients = "Monsieur " & cbxNomEtPrenomClient.Value &
vbCr
If txtNumeroRue.Value <> "" Then CoordonneesClients > CoordonneesClients & txtNumeroRue & " "
If txtRue <> "" Then CoordonneesClients = CoordonneesClients &
txtRue & vbCr
If txtNumeroBat <> "" Then CoordonneesClients = CoordonneesClients
& txtNumeroBat & " "
If txtBat <> "" Then CoordonneesClients = CoordonneesClients &
txtBat & vbCr
CoordonneesClients = CoordonneesClients & txtCodePostale & " " &
txtVille
.lblCoordonnesClient = CoordonneesClients
'--
.Range("C" & DerrLigne).Value = Me.lsbListeDesTravaux.Column(1)
.Range("B" & DerrLigne).Value = Me.lsbListeDesTravaux.Column(2)
.Range("A" & DerrLigne).Value = Me.lsbListeDesTravaux.Column(3)
.Range("E" & DerrLigne).Value = Me.lsbListeDesTravaux.Column(4)
End With

JB


On 2 avr, 21:20, Jacques wrote:
Salut

Donc j'ai tenté cela mais cela ne fonctionne pas :

Private Sub cmdEditLeDevis_Click()
Dim CoordonneesClients As String
Dim l2, DerrLigne As Integer
Dim i
DerrLigne = Sheets("DevisEtFacture").Range("A52").End(xlUp).Row + 1
l2 = Application.Index(Me.lsbListeDesTravaux.ListIndex + 1)

With Sheets("DevisEtFacture")

CoordonneesClients = "Monsieur " & cbxNomEtPrenomClient.Value & vbCr
If txtNumeroRue.Value <> "" Then CoordonneesClients > > CoordonneesClients _
& txtNumeroRue & " "
If txtRue <> "" Then CoordonneesClients = CoordonneesClients &
txtRue & vbCr
If txtNumeroBat <> "" Then CoordonneesClients = CoordonneesClients _
& txtNumeroBat & " "
If txtBat <> "" Then CoordonneesClients = CoordonneesClients &
txtBat & vbCr
CoordonneesClients = CoordonneesClients & txtCodePostale & " " &
txtVille
.lblCoordonnesClient = CoordonneesClients
For i = 0 To Me.lsbListeDesTravaux.Count - 1
.Range("C" & DerrLigne).Value > > Me.lsbListeDesTravaux.List(i, 0)
.Range("B" & DerrLigne).Value > > Me.lsbListeDesTravaux.List(i, 1)
.Range("A" & DerrLigne).Value > > Me.lsbListeDesTravaux.List(i, 2)
.Range("E" & DerrLigne).Value > > Me.lsbListeDesTravaux.List(i, 3)
Next i
End With
End Sub

J'ai une erreur :

Membre de méthode ou de données introuvable et cela surligne ".Count", dans
cette partie du code :

For i = 0 To Me.lsbListeDesTravaux.Count - 1

Merci pour votre aide, Jacques




Salut a vous

Papou et jérome, merci, je vais regarder cela.

Merci, Jacques



Bonjour,

Pour récupérer l'élément choisi dans la listbox:

[G1]= Me.ListBox1.Column(1)
[H1]= Me.ListBox1.Column(2)
[I1]= Me.ListBox1.Column(3)
[J1]= Me.ListBox1.Column(4)

Pour récupérer la ligne choisie dans la listbox:

[G1:J1] = Application.Index(Me.ListBox1.List, Me.ListBox1.ListIndex
+ 1)

Pour récupérer la totalité de la source de ListBox:

[G10].Resize(Me.ListBox1.ListCount, Me.ListBox1.ColumnCount) > > > > Me.ListBox1.List

JB

On 2 avr, 11:30, "papou" <cestpasbon@çanonplus44.fr> wrote:
Bonjour
Oui c'est possible.
Pour renvoyer les entrées d'une listbox à plusieurs colonnes le mieux c'est
d'utiliser la propriété List, sachant que tu dois décrémenter de la valeur
un (1) le nombre de colonnes et de lignes.
exemple simple avec un contrôle nommé ListBox1 :
ListBox1.List(0,0) te renvoie la valeur ligne 1 colonne 1
ListBox1.List(0,1) te renvoie la valeur ligne 1 colonne 2
etc..

Pour renvoyer toutes les infos, tu peux utiliser la propriété ListCount.
exemple de métthode qui te renverra l'ensemble des valeurs de ta mlistbox (à
adapter à ton besoin) :
For i = 0 To me.listbox1.Count -1
me.listbox1.list(i,0)
me.listbox1.list(i,1)
me.listbox1.list(i,2)
me.listbox1.list(i,3)
me.listbox1.list(i,4)
Next i

Cordialement
Pascal

"Jacques" a écrit dans le message denews: 6430FD01-BA21-4930-9821-767F4CF4D...__END_MASK_i?a63jfAD$__BEGIN_MASK_n#9g02mG7!

Salut a toute et tous

J'ai une listbox multicolonne (5 colonnes), mais je n'enverrai dans ma
feuille que 4 colonne.

colonne 1 : Désignation
colonne 2 : Référence
colonne 3 : Quantité
colonne 4 : prix unitaire
colonne 5 : prix total (qui sert juste de visu, car le prix*quantité, ce
fait dans la feuille)

Mes données commencent a la ligne 24 et soront envoyées comme suis :

La colonne 1 correspond a la colonne C
La colonne 2 correspond a la colonne B
La colonne 3 correspond à la colonne A
La colonne 4 correspond à la colonne E

Donc une fois ma listbox rempli, j'aimerais soit envoyé une selection soit
tout envoyé, es-ce possible ?

Merci pour votre aide, Jacques- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -




- Afficher le texte des messages précédents -











Avatar
Jacques
Re

Comme convenue, j'ai fait un résumé de mon fichier afin de vous montrer mon
souci.

http://cjoint.com/?edxNxCK0XN

Merci, Jacques


Salut a toute et tous

J'ai une listbox multicolonne (5 colonnes), mais je n'enverrai dans ma
feuille que 4 colonne.

colonne 1 : Désignation
colonne 2 : Référence
colonne 3 : Quantité
colonne 4 : prix unitaire
colonne 5 : prix total (qui sert juste de visu, car le prix*quantité, ce
fait dans la feuille)

Mes données commencent a la ligne 24 et soront envoyées comme suis :

La colonne 1 correspond a la colonne C
La colonne 2 correspond a la colonne B
La colonne 3 correspond à la colonne A
La colonne 4 correspond à la colonne E

Donc une fois ma listbox rempli, j'aimerais soit envoyé une selection soit
tout envoyé, es-ce possible ?

Merci pour votre aide, Jacques


Avatar
papou
Bonjour
Il y a quelques rectifications à faire dans ton code.
Au niveau des déclarations dans le code de ton userform :
Dim WSDonnees As Worksheet
Dim WStache As Worksheet
Dim WsListes As Worksheet
Dim Plage As Range, PlageClients As String, Plagetache As String
Dim PlageTotale As Range

Au niveau de ta procédure cmdEditLeDevis_Click, plusieurs soucis :
1°)La première colonne d'un contrôle Listbox commence à 0.
2°)Le renvoi de valeur ne se fera pas parce que la méthode que tu utilises
ne fonctionne que si la ligne est sélectionnée dans la liste.
Il faut que tu détermines le nombre d'entrées dans ta listbox pour ensuite
boucler pour positionner chaque valeur.

Cordialement
Pascal



"Jacques" a écrit dans le message de
news:
Re

Comme convenue, j'ai fait un résumé de mon fichier afin de vous montrer
mon
souci.

http://cjoint.com/?edxNxCK0XN

Merci, Jacques


Salut a toute et tous

J'ai une listbox multicolonne (5 colonnes), mais je n'enverrai dans ma
feuille que 4 colonne.

colonne 1 : Désignation
colonne 2 : Référence
colonne 3 : Quantité
colonne 4 : prix unitaire
colonne 5 : prix total (qui sert juste de visu, car le prix*quantité, ce
fait dans la feuille)

Mes données commencent a la ligne 24 et soront envoyées comme suis :

La colonne 1 correspond a la colonne C
La colonne 2 correspond a la colonne B
La colonne 3 correspond à la colonne A
La colonne 4 correspond à la colonne E

Donc une fois ma listbox rempli, j'aimerais soit envoyé une selection
soit
tout envoyé, es-ce possible ?

Merci pour votre aide, Jacques




Avatar
papou
Re
Voilà ce que tu peux essayer :
Private Sub cmdEditLeDevis_Click()
Dim CoordonneesClients As String
Dim DerrLigne As Integer
DerrLigne = Sheets("DevisEtFacture").Range("A52").End(xlUp).Row + 1
Dim NbList&

With Sheets("DevisEtFacture")

CoordonneesClients = "Monsieur " & cbxNomEtPrenomClient.Value & vbCr
If txtNumeroRue.Value <> "" Then CoordonneesClients =
CoordonneesClients _
& txtNumeroRue & " "
If txtRue <> "" Then CoordonneesClients = CoordonneesClients &
txtRue & vbCr
If txtNumeroBat <> "" Then CoordonneesClients = CoordonneesClients _
& txtNumeroBat & " "
If txtBat <> "" Then CoordonneesClients = CoordonneesClients &
txtBat & vbCr
CoordonneesClients = CoordonneesClients & txtCodePostale & " " &
txtVille
.lblCoordonnesClient = CoordonneesClients

For NbList = 0 To Me.lsbListeDesTravaux.ListCount - 1
DerrLigne = Sheets("DevisEtFacture").Range("A52").End(xlUp).Row + 1

.Range("C" & DerrLigne).Value = Me.lsbListeDesTravaux.List(NbList, 0)
.Range("B" & DerrLigne).Value = Me.lsbListeDesTravaux.List(NbList, 1)
.Range("A" & DerrLigne).Value = Me.lsbListeDesTravaux.List(NbList, 2)
.Range("E" & DerrLigne).Value = Me.lsbListeDesTravaux.List(NbList, 3)
Next NbList

End With
End Sub

Cordialement
Pascal
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:
%
Bonjour
Il y a quelques rectifications à faire dans ton code.
Au niveau des déclarations dans le code de ton userform :
Dim WSDonnees As Worksheet
Dim WStache As Worksheet
Dim WsListes As Worksheet
Dim Plage As Range, PlageClients As String, Plagetache As String
Dim PlageTotale As Range

Au niveau de ta procédure cmdEditLeDevis_Click, plusieurs soucis :
1°)La première colonne d'un contrôle Listbox commence à 0.
2°)Le renvoi de valeur ne se fera pas parce que la méthode que tu utilises
ne fonctionne que si la ligne est sélectionnée dans la liste.
Il faut que tu détermines le nombre d'entrées dans ta listbox pour ensuite
boucler pour positionner chaque valeur.

Cordialement
Pascal



"Jacques" a écrit dans le message de
news:
Re

Comme convenue, j'ai fait un résumé de mon fichier afin de vous montrer
mon
souci.

http://cjoint.com/?edxNxCK0XN

Merci, Jacques


Salut a toute et tous

J'ai une listbox multicolonne (5 colonnes), mais je n'enverrai dans ma
feuille que 4 colonne.

colonne 1 : Désignation
colonne 2 : Référence
colonne 3 : Quantité
colonne 4 : prix unitaire
colonne 5 : prix total (qui sert juste de visu, car le prix*quantité,
ce
fait dans la feuille)

Mes données commencent a la ligne 24 et soront envoyées comme suis :

La colonne 1 correspond a la colonne C
La colonne 2 correspond a la colonne B
La colonne 3 correspond à la colonne A
La colonne 4 correspond à la colonne E

Donc une fois ma listbox rempli, j'aimerais soit envoyé une selection
soit
tout envoyé, es-ce possible ?

Merci pour votre aide, Jacques








Avatar
Jacques
Ppou, le forum

Merci a toi pour ton aide et expliquations.

Je regarde a mon retour ce soir.

Merci, Jacques


Re
Voilà ce que tu peux essayer :
Private Sub cmdEditLeDevis_Click()
Dim CoordonneesClients As String
Dim DerrLigne As Integer
DerrLigne = Sheets("DevisEtFacture").Range("A52").End(xlUp).Row + 1
Dim NbList&

With Sheets("DevisEtFacture")

CoordonneesClients = "Monsieur " & cbxNomEtPrenomClient.Value & vbCr
If txtNumeroRue.Value <> "" Then CoordonneesClients =
CoordonneesClients _
& txtNumeroRue & " "
If txtRue <> "" Then CoordonneesClients = CoordonneesClients &
txtRue & vbCr
If txtNumeroBat <> "" Then CoordonneesClients = CoordonneesClients _
& txtNumeroBat & " "
If txtBat <> "" Then CoordonneesClients = CoordonneesClients &
txtBat & vbCr
CoordonneesClients = CoordonneesClients & txtCodePostale & " " &
txtVille
.lblCoordonnesClient = CoordonneesClients

For NbList = 0 To Me.lsbListeDesTravaux.ListCount - 1
DerrLigne = Sheets("DevisEtFacture").Range("A52").End(xlUp).Row + 1

.Range("C" & DerrLigne).Value = Me.lsbListeDesTravaux.List(NbList, 0)
.Range("B" & DerrLigne).Value = Me.lsbListeDesTravaux.List(NbList, 1)
.Range("A" & DerrLigne).Value = Me.lsbListeDesTravaux.List(NbList, 2)
.Range("E" & DerrLigne).Value = Me.lsbListeDesTravaux.List(NbList, 3)
Next NbList

End With
End Sub

Cordialement
Pascal
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:
%
Bonjour
Il y a quelques rectifications à faire dans ton code.
Au niveau des déclarations dans le code de ton userform :
Dim WSDonnees As Worksheet
Dim WStache As Worksheet
Dim WsListes As Worksheet
Dim Plage As Range, PlageClients As String, Plagetache As String
Dim PlageTotale As Range

Au niveau de ta procédure cmdEditLeDevis_Click, plusieurs soucis :
1°)La première colonne d'un contrôle Listbox commence à 0.
2°)Le renvoi de valeur ne se fera pas parce que la méthode que tu utilises
ne fonctionne que si la ligne est sélectionnée dans la liste.
Il faut que tu détermines le nombre d'entrées dans ta listbox pour ensuite
boucler pour positionner chaque valeur.

Cordialement
Pascal



"Jacques" a écrit dans le message de
news:
Re

Comme convenue, j'ai fait un résumé de mon fichier afin de vous montrer
mon
souci.

http://cjoint.com/?edxNxCK0XN

Merci, Jacques


Salut a toute et tous

J'ai une listbox multicolonne (5 colonnes), mais je n'enverrai dans ma
feuille que 4 colonne.

colonne 1 : Désignation
colonne 2 : Référence
colonne 3 : Quantité
colonne 4 : prix unitaire
colonne 5 : prix total (qui sert juste de visu, car le prix*quantité,
ce
fait dans la feuille)

Mes données commencent a la ligne 24 et soront envoyées comme suis :

La colonne 1 correspond a la colonne C
La colonne 2 correspond a la colonne B
La colonne 3 correspond à la colonne A
La colonne 4 correspond à la colonne E

Donc une fois ma listbox rempli, j'aimerais soit envoyé une selection
soit
tout envoyé, es-ce possible ?

Merci pour votre aide, Jacques













1 2