Accéder à des cellules d'une sélection par OLE (Delphi)
Le
Ludovic Laé
Bonjour,
je vous soumets mon problème.
Je sais qu'en vba, on peut accéder aux valeurs des cellules d'une
sélection unique par un code du style
For i = 0 To Selection.Count - 1
MsgBox Selection(i)
Next i
J'essaie de transposer cela par un pilotage OLE depuis Delphi (sans
succès). Pour note, OLE_Excel est un OLEVariant initialisé précédemment,
le pilotage fonctionne, un fichier est ouvert, etc.
procedure Test;
var
Une_Cell: variant;
i: integer;
begin
//Recherche de la plage de cellule active
for i := 0 to OLE_Excel.Selection.Count-1 do
begin
Une_Cell := OLE_Excel.Selection[i];
ShowMessage(Une_Cell.Value);
end;
end;
Le code suivant me retourne une erreur à la ligne "Une_Cell :=
OLE_Excel.Selection[i];" avec le message "Nombre de paramètres non valide".
Lors d'un passage en pas à pas, je vois que OLE_Excel.Selection.Count
contient, en revanche, le nombre exact de cellules que j'ai
sélectionnées dans le fichier actif d'OLE_Excel.
Avez vous une idée de la syntaxe à adopter pour récupérer effectivement
les valeurs de mes cellules sélectionnées ?
Par avance, merci.
L. Laé.
je vous soumets mon problème.
Je sais qu'en vba, on peut accéder aux valeurs des cellules d'une
sélection unique par un code du style
For i = 0 To Selection.Count - 1
MsgBox Selection(i)
Next i
J'essaie de transposer cela par un pilotage OLE depuis Delphi (sans
succès). Pour note, OLE_Excel est un OLEVariant initialisé précédemment,
le pilotage fonctionne, un fichier est ouvert, etc.
procedure Test;
var
Une_Cell: variant;
i: integer;
begin
//Recherche de la plage de cellule active
for i := 0 to OLE_Excel.Selection.Count-1 do
begin
Une_Cell := OLE_Excel.Selection[i];
ShowMessage(Une_Cell.Value);
end;
end;
Le code suivant me retourne une erreur à la ligne "Une_Cell :=
OLE_Excel.Selection[i];" avec le message "Nombre de paramètres non valide".
Lors d'un passage en pas à pas, je vois que OLE_Excel.Selection.Count
contient, en revanche, le nombre exact de cellules que j'ai
sélectionnées dans le fichier actif d'OLE_Excel.
Avez vous une idée de la syntaxe à adopter pour récupérer effectivement
les valeurs de mes cellules sélectionnées ?
Par avance, merci.
L. Laé.

Poser une question


J'ignore depuis Delphi, mais en Vba la syntaxe serait:
For i = 1 To Selection.Count
'--------
L'erreur vient peut-être de là.
for i := 1 to OLE_Excel.Selection.Count do
--
Salutations
JJ
"Ludovic Laé"