J'ai amélioré le sous-ensemble generatecsv() pour gérer une feuille Excel qui contient plusieurs listes avec des lignes vierges séparant à la fois les titres de chaque liste et les listes de leurs titres. exemple
list title 1
item 1
item 2
list title 2
item 1
item 2
et les combine bien sûr en plusieurs lignes, 1 par liste.
raison, j'ai demandé à un client de m'envoyer plusieurs mots clés sous forme de liste pour leur site web en fonction du sujet, j'avais besoin d'un moyen de faire entrer ces mots clés dans les pages web facilement. J'ai donc modifié la routine et j'ai obtenu ce qui suit, et j'ai également changé les noms de variables en noms significatifs :
Sub generatecsv()
Dim dataRow As Integer
Dim listRow As Integer
Dim data As String
dataRow = 1: Rem the row that it is being read from column A otherwise known as 1 in vb script
listRow = 1: Rem the row in column B that is getting written
Do Until Cells(dataRow, 1).Value = "" And Cells(dataRow + 1, 1).Value = ""
If (data = "") Then
data = Cells(dataRow, 1).Value
Else
If Cells(dataRow, 1).Value <> "" Then
data = data & "," & Cells(dataRow, 1).Value
Else
Cells(listRow, 2).Value = data
data = ""
listRow = listRow + 1
End If
End If
dataRow = dataRow + 1
Loop
Cells(listRow, 2).Value = data
End Sub