liaison avec EXCEL!

liaison avec EXCEL! - Delphi/Pascal - Programmation

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
Reply

Marsh Posté le 14-01-2004 à 23:27:22   

Reply

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.

Reply

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


---------------
TUPAC REST IN PEACE
Reply

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


---------------
TUPAC REST IN PEACE
Reply

Marsh Posté le 15-01-2004 à 20:36:48    

Ah ouais donc rien à voir avec les liens DDE... :D

Reply

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


---------------
TUPAC REST IN PEACE
Reply

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
 


Message édité par bossamiral2 le 15-01-2004 à 22:18:03
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed