2 votes

Sélection de plages contiguës à l'aide de "cellules" pour Excel via VB.net

Je n'arrive pas à trouver un moyen d'utiliser une de mes astuces VBA en VB.net.

Par exemple, la sélection de cette plage fonctionne en VBA :

Dim Border As Range   
Border = Range(Cells(2, 3), Cells(10, 4)).Select

Dans Visual Studio, je ne peux utiliser qu'un seul "Cells" pour appeler une plage. Le même code ci-dessus souligne le mot "Cells" en disant qu'il n'est pas déclaré alors que je l'ai fait :

Dim Border As Excel.Range
Border = Range(Cells(2, 3), Cells(10, 4)).Select()

J'utilise .Row et .Column pour identifier les dimensions des ensembles de données. J'ai essayé de chercher partout une explication/solution. Peut-être que je cherche trop dans la mauvaise direction. Quelqu'un a-t-il une idée ?

1voto

Cor_Blimey Points 3110

Vous devez qualifier les cellules avec la plage ou la feuille de travail. La référence aux cellules n'est pas implicite comme en VBA.

C# :

internal static void TestRangeCells(Worksheet worksheet)
{
    Range range = worksheet.Range(worksheet.Cells[1, 1], worksheet.Cells[5, 10]);
    MessageBox.Show(range.Address);
}

0voto

FrankPl Points 9921

Selon http://msdn.microsoft.com/de-de/library/aa288993(v=vs.71).aspx le texte suivant devrait fonctionner :

Border = ws.get_Range("B3:J4",Type.Missing);

Ceci utilise simplement les noms de cellules avec les colonnes codées en lettres au lieu des index (2 -> B, 10 ->J). Vous pouvez probablement construire la chaîne dynamique en code si vous en avez besoin.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X