[VB .Net 2008 Express] Trier une plage dans un document Excel via Interop
2 réponses
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...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jchtible
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
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...
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
Avec quelques jours de retard, merci jchtible. Je vais regarder ca.
Stéphane
"jchtible" a écrit dans le message de 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
Avec quelques jours de retard, merci jchtible. Je vais regarder ca.
Stéphane
"jchtible" <jchtible@discussions.microsoft.com> a écrit dans le message de
news: DA72B17C-18C3-4D2A-A657-EE31EC14B2A4@microsoft.com...
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...
Avec quelques jours de retard, merci jchtible. Je vais regarder ca.
Stéphane
"jchtible" a écrit dans le message de 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...