liaison avec EXCEL! - Delphi/Pascal - Programmation
Marsh Posté le 15-01-2004 à 01:06:04
J'ai pas tout compris, mais peut-être que tu devrais jeter un oeil du coté des liens DDE (Dynamic Data Exchange, si j'ai bonne mémoire). Ca permet à une application d'envoyer/de recevoir des données à/depuis Excel.
Marsh Posté le 15-01-2004 à 04:40:27
Mon fichier excel se présente de cette manière: 
 
ligne 1 : Je 
      2 : m'appelle 
      3 : Rémi 
      4 : je suis 
      5 : sans famille 
 
.....la premiere cellule de la ligne 6 est vide, j'aimerais en fait, en parcourant la colonne 1, que l'on me renvoi le numéro de la ligne...ici dans mon cas 6 
Marsh Posté le 15-01-2004 à 05:46:13
 
En macro EXCEL ça donne ceci : 
 
Set rngXL = shtXL.Columns(1) 
 
If (rngXL.Cells(1, 1) = "" ) Then 
        vide = 2 
Else 
    ' Cherche la ligne où il y a une première cellule vide. 
    vide = rngXL.Find("" ).Row 
End If 
Marsh Posté le 15-01-2004 à 20:41:27
MAis à force de perséver g trouvé un semblant de code jolie...certes assez bourrin, mais ki fonctionne! 
 
tiens voilà le listing: 
 
 
 
      b := 2; 
      TextCellule := ExcelWs.Cells.Item[1,1].value; 
      Str(b, indice); 
      indice := 'A' + indice; 
       
     While TextCellule <> '' do 
              begin 
               RefCellule := ExcelWs.Range[indice].row; 
               b := b+1; 
               TextCellule := ExcelWs.Cells.Item[b,1].value; 
               Str(b, indice); 
               indice := 'A' + indice; 
              end; 
 
 
si tu penses ke c vraiment du cochon, donnes moi un ti coup de main. chui un faux débutant 
Marsh Posté le 15-01-2004 à 22:14:55
sauf erreur tu peux utiliser  
 
.cells(A,b).text 
 
Tu traites le text pour voir si c'est une chaine vide 
 
Marsh Posté le 14-01-2004 à 23:27:22
bonsoir,
savez vous comment on peut chercher un cellule vide, grace à l'utilisation de FIND.
je m'explique, je vous parcourir la premiere colonne, quand je tombe sur un cellule vide, je repère le numéro de la ligne.
g essayé ceci, mais sans succès.
If ExcelWs.Cells.item[1,1].value = '' then
Begin
vide := 2;
Str(vide, indice); //* Check *//
ShowMessage(indice);
end
else
begin
vide := ExcelWs.Range.find('').row;
Str(vide, indice); //* Check *//
ShowMessage(indice);
end;
MErci d'avance.
---------------
TUPAC REST IN PEACE