baboo50
Messages postés18Date d'inscriptionlundi 2 avril 2007StatutMembreDernière intervention23 octobre 2008
-
4 juil. 2007 à 07:26
baboo50
Messages postés18Date d'inscriptionlundi 2 avril 2007StatutMembreDernière intervention23 octobre 2008
-
6 juil. 2007 à 07:36
Bonjour,
j'ai realise un petit programme qui envoi en ce moment des donnees vers excel. Pour le moment tout les donnees de la listbox est stoquer sur une colonne dans le tableau excel, mais j'aimerai qu'il passe a la colonne suivante tout les 49 nombres. en bref je ne veux pas plus de 49 nombres par colonne.
Si vous avez une technique ou une fonction qui pourrqit me depanner ce serai sympa
baboo50
Messages postés18Date d'inscriptionlundi 2 avril 2007StatutMembreDernière intervention23 octobre 2008 4 juil. 2007 à 07:43
Voici le code qui permet d'envoier dans l'excel.
faite attention la partie rouge ne sert pqs a envoyer dans l'excel mais seulement a trier les donnees.
Private Sub cmdexcel_Click()<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Dim i As Integer
Dim l As Integer
Dim c As String
Dim d As String
Dim tri() As String
Dim m, n, k As Integer
Dim temp As String
Dim listprog As New Excel.Application
listprog.Visible = True
listprog.Workbooks.Add
listprog.Worksheets.Add
listprog.Sheets("feuil1").Select
If optprog.Value = True Then
ReDim tri(frmgstprog.lstprog.ListCount)
For k = 0 To frmgstprog.lstprog.ListCount - 1
tri(k) = frmgstprog.lstprog.List(k)
Next k
For m = 1 To k - 1
For n = 0 To k - 1
If Right(tri(m), 5) < Right(tri(n), 5) Then
temp = tri(m)
tri(m) = tri(n)
tri(n) = temp
End If
Next n
Next m
For k = 0 To k - 1
frmgstprog.lstprog.List(k) = tri(k)
Next k
ElseIf optcard.Value = True Then
ReDim tri(frmgstprog.lstprog.ListCount)
For k = 0 To frmgstprog.lstprog.ListCount - 1
tri(k) = frmgstprog.lstprog.List(k)
Next k
For m = 1 To k - 1
For n = 0 To k - 1
If Right(Left(tri(m), 16), 7) < Right(Left(tri(n), 16), 7) Then
temp = tri(m)
tri(m) = tri(n)
tri(n) = temp
End If
Next n
Next m
For k = 0 To k - 1
frmgstprog.lstprog.List(k) = tri(k)
Next k
Else
ReDim tri(frmgstprog.lstprog.ListCount)
For k = 0 To frmgstprog.lstprog.ListCount - 1
tri(k) = frmgstprog.lstprog.List(k)
Next k
For m = 1 To k - 1
For n = 0 To k - 1
If Right(Left(tri(m), 16), 7) < Right(Left(tri(n), 16), 7) Then
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 4 juil. 2007 à 08:11
Hé bé !
Je t'avais demandé le seul bout de code concerné,... pas tout ce machin-là que je ne vais même pas regarder !!!!
Voilà (et fais-en ce que tu veux)
Le code qui suit contient 2 variables
L'une est numéro_colonne et elle s'incrémente de 1 unité chaque fois que l'on a traité un certain nombre d'articles d'une listbox ist1
La deuxième est saut et contient le nombre de'articles à mettre dans chaque colonne.
Dans l'exemple ci-dessous, donc, on attribue le n° 12 aux 5 1ers articles, 13 aux 5 suivants, etc...
Private Sub Command3_Click()
Numero_colonne = 12
saut = 5
For i = 0 To List1.ListCount - 1
If i Mod (saut) = 0 And i >= saut Then
Numero_colonne = Numero_colonne + 1
End If
Next
End Sub
A toi d'y mettre ton propre code VBA (que je ne connais pas) d'insertion dans tes cellules.
baboo50
Messages postés18Date d'inscriptionlundi 2 avril 2007StatutMembreDernière intervention23 octobre 2008 6 juil. 2007 à 07:36
merci pour cette eclaircissement
mais g encore un petit probleme car je ne sais pas comment recuperer le nom de la colonne dans ton programme, pour me permettre d'ecrire dans les bonnes cellules.
je te remercirai de bien vouloir me donner cette derniere petite explication