Accéder à des cellules d'une sélection par OLE (Delphi)
1 réponse
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 ?
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
Jacky
Bonsoir,
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é" a écrit dans le message de news:
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é.
Bonsoir,
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é" <ludovic.lae@llae.net> a écrit dans le message de news:
OJ6MinI7GHA.4552@TK2MSFTNGP05.phx.gbl...
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 ?
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é" a écrit dans le message de news:
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 ?