cs_roro69
Messages postés70Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention29 septembre 2018
-
25 oct. 2017 à 10:47
Whismeril
Messages postés18390Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention25 mai 2023
-
27 oct. 2017 à 23:59
Bonjour et merci d’avance pour le temps consacré et l’aide apporté.
Voilà mon problème :
Dans la boucle ci-dessous je récupère des informations que j’exporte dans Microsoft Excel ; ceci ligne par ligne.
Dim col As Integer = 2 Dim ligne As Integer = 3 For i As Integer = 1 To folds.Length - 1 If folds(i).a = folds(i - 1).a Then col = col + 2 Else col = 2 ligne += 1 End If worksheet.Cells(ligne, 1) = i worksheet.Cells(ligne, col) = folds(i).b worksheet.Cells(ligne, col + 1) = folds(i).c Next
Le problème que j’ai et que ceci est fort long.
J’aimerais savoir si il est possible de passer par un tableau et le transposer dans Excel.
Un grand merci pour vos réponses
--
A voir également:
Export datagridview to excel vb.net
Export excel vb.net - Meilleures réponses
Datagridview to excel vb.net - Meilleures réponses
cs_roro69
Messages postés70Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention29 septembre 2018 Modifié le 25 oct. 2017 à 15:01
rebonjour Whismeril
Bravo pour le "wrappeur " c'est vraiment bien ;
juste j'ai un peu mal avec les bordures ;voici mon codes
le fichier est bien crée mais les bordures n'apparaissent pas
Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click Dim format As FormatPersonnalise Dim indexFormat As Integer Dim saveFileDialog As SaveFileDialog = New SaveFileDialog() saveFileDialog.Filter = "Excel Files (*.xlsx)|*.xlsx" saveFileDialog.FilterIndex = 1 Dim flag As Boolean = saveFileDialog.ShowDialog() = DialogResult.OK If flag Then Dim fileName As String = saveFileDialog.FileName
excel.CreerDocument(fileName) excel.AjouterFeuille("blabla") Else Exit Sub End If 'Les index de lignes et colonnes commencent par 1
'écriture de nombres
For ligne As Integer = 2 To 9 For colonne As Integer = 1 To 9 excel.EcrireCellule(ligne, colonne, (ligne - 1) + (colonne / 10.0)) format = New FormatPersonnalise With {.Bordures = New List(Of Bordure) From { New Bordure With {.Aspect = AspectBordure.Aucune, .Position = PositionBordure.Droite}}} indexFormat = excel.CreerUnFormatDeCellule("A1", format) excel.AffecteFormatCellule(ligne, colonne, indexFormat) Next colonne Next ligne
boucle() 'Fermer sans lancer l'application MessageBox.Show("Fichier excel créer" & vbCrLf & "BiEN") End Sub
Voilà si tu peut m'aiguiller comment gérer les bordures ,ce serait super
En tout cas ton programme est fantastique
Merci beaucoup
--
Whismeril
Messages postés18390Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention25 mai 2023623 Modifié le 25 oct. 2017 à 18:58
Alors deux chose, si tu mets AspectBordure.Aucune, y'a pas de bordure, donc pour le code ci dessous, c'est AspectBordure.Fine.
D'autre part, mon scénario ferme le document puis le réouvre, du coup, je n'avais pas essayé d'écrire et de formater directement.
Il se passe un truc que je n'ai pas compris, mais qui fait que ça marche quand on ferme et réouvre...
Donc en attendant de mieux
Dim format As FormatPersonnalise
Dim indexFormat As Integer
If (File.Exists("testroro.xlsx")) Then
File.Delete("testroro.xlsx")
End If
excel.CreerDocument("testroro.xlsx")
excel.AjouterFeuille("blabla")
'en attendant que je comprenne pourquoi
excel.Fermer()
excel.OuvrirUnDocument("testroro.xlsx")
'écriture de nombres
format = New FormatPersonnalise With {.Bordures = New List(Of Bordure) From {
New Bordure With {.Aspect = AspectBordure.Fine, .Position = PositionBordure.Haut}}}
indexFormat = excel.CreerUnFormatDeCellule("A1", format)
'Les index de lignes et colonnes commencent par 1
For ligne As Integer = 2 To 9
For colonne As Integer = 1 To 9
excel.EcrireCellule(ligne, colonne, (ligne - 1) + (colonne / 10.0))
excel.AffecteFormatCellule(ligne, colonne, indexFormat)
Next colonne
Next ligne
excel.Fermer()
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
cs_roro69
Messages postés70Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention29 septembre 2018 26 oct. 2017 à 17:32
Merci Whismeril
ça fonctionne ; par contre il est vrai qu'il faut créer , fermer, ouvrir le document ; sinon il ne formate pas le document..
Il y a vraiment un réel gain de temps de réalisation dans l'importation des données;
En tout cas merci pour ce sympathique programme;et merci pour tes réponses et le temps consacré
Whismeril
Messages postés18390Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention25 mai 2023623 26 oct. 2017 à 18:39
De rien, je tacherai de corriger mon source prochainement.
Vous n’avez pas trouvé la réponse que vous recherchez ?