Bonjour,

En VBA, j'ai une fonction me permettant de récupérer rapidement la dernière colonne non vide d'une feuille.

J'ai essayé d'implémenter une fonction Delphi utilisant ces connaissances en VBA. Ca donne un truc comme ça.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
uses
  Variants,
  Excel2000;
 
function Max_Col(AOLE_Worksheet : OLEVariant) : integer;
var
  rRange : OLEVariant;
begin
  rRange := AOLE_Worksheet.Range[AOLE_Worksheet.Cells.Item[1, 1], AOLE_Worksheet.Cells.Item[65536, 255]];
  rRange := rRange.Find('*', , , , xlByColumns, xlPrevious);
 
  if not VarIsClear(rRange) then
    result := rRange.Column
  else
    result := -1;
end;

Ca marche... Enfin presque. Le souci, c'est qu'il ne reconnait pas le symbole '*' comme mot clé permettant de rechercher n'importe quel mot.

Ca marche en VBA mais pas en Delphi. Si je remplace '*' par 'hello' ; ca me retourne bien la colonne de plus grand index ou se trouve le mot 'hello'.

Quelqu'un aurait une idée ?