cs_badstef
Messages postés2Date d'inscriptionjeudi 11 décembre 2003StatutMembreDernière intervention30 janvier 2008
-
29 janv. 2008 à 02:50
cs_badstef
Messages postés2Date d'inscriptionjeudi 11 décembre 2003StatutMembreDernière intervention30 janvier 2008
-
30 janv. 2008 à 06:06
Bonjour,
j'ais un tableau style cédule de production dans excel 2003:
Work order 10-01-2008 11-01-2008 12-01-2008 etc...
L51000 10 null 20 etc..
L52011 null 1000 200 etc ..
Je veut importé le tableau dans sql mais j'aurais besoin avant de le convertir de cette facon:
Work order date quantity
L51000 10-01-2008 10
L51000 12-01-2008 20
etc...
L52011 11-01-2008 1000
L52011 12-01-2008 200
etc...
Je ne suis pas un expert en vb je suis surtout spécialiste en database sql je ne sais pas par ou commencé pour eliminé les null transposé et dupliquété les étiquette de work order enfin un départ serais grandement aprécié.
cs_badstef
Messages postés2Date d'inscriptionjeudi 11 décembre 2003StatutMembreDernière intervention30 janvier 2008 30 janv. 2008 à 06:06
Bonjour, j'ai recu ce code d'un forum ca fonctionne très bien et c est très simple:
Merci a tout ceux qui m on aidé.
Badstef
ex:
Sub ConvertTable()
Dim C As Long
Dim LastCol As Long
Dim LastRow As Long
Dim N As Long
Dim R As Long
Dim Rng As Range
Dim NewWks As Worksheet
N = 2
Set NewWks = Worksheets("result")
' Set NewWks = Worksheets.Add(After:=Worksheets(Worksheets.Count))
Set Rng = NewWks.Range("A1:C1")
With Rng
.Cells(1, 1) = "Work Order"
.Cells(1, 2) = "Date"
.Cells(1, 3) = "Quantity"
.Font.Bold = True
.Columns.AutoFit
End With
With Worksheets("source")
'With ActiveSheet
LastCol = .Cells(1, Columns.Count).End(xlToLeft).Column
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
'LastCol = 10
'LastRow = 10
End With
' MsgBox (LastRow)
For R = 2 To LastRow
For C = 2 To LastCol
If Not IsEmpty(ActiveSheet.Cells(R, C)) Then
NewWks.Cells(N, "A") = Worksheets("source").Cells(R, "A") 'Work Order
'NewWks.Cells(N, "A") = ActiveSheet.Cells(R, "A") 'Work Order
NewWks.Cells(N, "B") = Worksheets("source").Cells(1, C) 'Date
NewWks.Cells(N, "C") = Worksheets("source").Cells(R, C) 'Quantity
N = N + 1
End If
Next C
Next R