[VB .Net 2008 Express] Trier une plage dans un document Excel via Interop

Le
Bonjour,

Avec la DLL Microsoft.Office.Interop.Excel.dll, je génère un document Excel.

Dans la feuille active, j'ai une plage que j'ai besoin de trier.

La ligne 1 contient les titres à ne pas trier.

Les lignes 2 à 100 contiennent les données à trier.

Il y a 10 colonnes (de A à J).

J'ai essayé plusieurs syntaxes, sans succès.

Le seul tri qui j'ai réussi à effectuer est 1 tri de colonnes au lieu de
trier les lignes.

Dim xl As New Excel.Application
Dim wb As Excel.Workbook
Dim ws As Excel.Worksheet
Dim r As Excel.Range
'
wb = xl.Workbooks.Add
ws = wb.Worksheets.Add
'
'Le tri ne fonctionne pas comme souhaité
'r = ws.Range("A1:J100")
'r.Sort(ws.Cells(1, 1), Excel.XlSortOrder.xlAscending, , , , , ,
Excel.XlYesNoGuess.xlYes)
'Le tri ne fonctionne toujours pas comme souhaité même en adaptant les
différents paramètres
'r = ws.Range("A2:J100")
'r = ws.Range("A:J")
'r.Sort(ws.Cells(1, 1), Excel.XlSortOrder.xlAscending)
'r.EntireColumn.Sort
'r.EntireRow.Sort

Merci d'avance pour votre aide,
Stéphane
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
jchtible
Le #19433361
Bonjour Stéphane,

J'essaierais plutot de passer par un tri sur la selection dans Excel ...
'On selectionne la plage de donnée à trier
ws.Range("A2:J100").Select

'On fait un tri ascendant sur la 1ere colonne
xl.Selection.sort(Range("A2"), Excel.XlSortOrder.xlAscending)




"Stéphane" wrote:

Bonjour,

Avec la DLL Microsoft.Office.Interop.Excel.dll, je génère un document Excel.

Dans la feuille active, j'ai une plage que j'ai besoin de trier.

La ligne 1 contient les titres à ne pas trier.

Les lignes 2 à 100 contiennent les données à trier.

Il y a 10 colonnes (de A à J).

J'ai essayé plusieurs syntaxes, sans succès.

Le seul tri qui j'ai réussi à effectuer est 1 tri de colonnes au lieu de
trier les lignes.

Dim xl As New Excel.Application
Dim wb As Excel.Workbook
Dim ws As Excel.Worksheet
Dim r As Excel.Range
'...
wb = xl.Workbooks.Add
ws = wb.Worksheets.Add
'...
'Le tri ne fonctionne pas comme souhaité
'r = ws.Range("A1:J100")
'r.Sort(ws.Cells(1, 1), Excel.XlSortOrder.xlAscending, , , , , ,
Excel.XlYesNoGuess.xlYes)
'Le tri ne fonctionne toujours pas comme souhaité même en adaptant les
différents paramètres
'r = ws.Range("A2:J100")
'r = ws.Range("A:J")
'r.Sort(ws.Cells(1, 1), Excel.XlSortOrder.xlAscending)
'r.EntireColumn.Sort...
'r.EntireRow.Sort...

Merci d'avance pour votre aide,
Stéphane





Le #19479451
Avec quelques jours de retard, merci jchtible. Je vais regarder ca.

Stéphane

"jchtible" news:
Bonjour Stéphane,

J'essaierais plutot de passer par un tri sur la selection dans Excel ...
'On selectionne la plage de donnée à trier
ws.Range("A2:J100").Select

'On fait un tri ascendant sur la 1ere colonne
xl.Selection.sort(Range("A2"), Excel.XlSortOrder.xlAscending)




"Stéphane" wrote:

Bonjour,

Avec la DLL Microsoft.Office.Interop.Excel.dll, je génère un document
Excel.

Dans la feuille active, j'ai une plage que j'ai besoin de trier.

La ligne 1 contient les titres à ne pas trier.

Les lignes 2 à 100 contiennent les données à trier.

Il y a 10 colonnes (de A à J).

J'ai essayé plusieurs syntaxes, sans succès.

Le seul tri qui j'ai réussi à effectuer est 1 tri de colonnes au lieu de
trier les lignes.

Dim xl As New Excel.Application
Dim wb As Excel.Workbook
Dim ws As Excel.Worksheet
Dim r As Excel.Range
'...
wb = xl.Workbooks.Add
ws = wb.Worksheets.Add
'...
'Le tri ne fonctionne pas comme souhaité
'r = ws.Range("A1:J100")
'r.Sort(ws.Cells(1, 1), Excel.XlSortOrder.xlAscending, , , , , ,
Excel.XlYesNoGuess.xlYes)
'Le tri ne fonctionne toujours pas comme souhaité même en adaptant les
différents paramètres
'r = ws.Range("A2:J100")
'r = ws.Range("A:J")
'r.Sort(ws.Cells(1, 1), Excel.XlSortOrder.xlAscending)
'r.EntireColumn.Sort...
'r.EntireRow.Sort...

Merci d'avance pour votre aide,
Stéphane







Publicité
Poster une réponse
Anonyme