GNT sans publicité, site mobile, fonctionnalitées exclusives...

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é.
Lire la réponse

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
Jacky
Le #3866441
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é"
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é.


Publicité
Suivre les réponses
Poster une réponse
Anonyme