Conversion colonne excel en caractère

TheSotr Messages postés 2 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 4 mars 2009 - 4 mars 2009 à 10:06
TheSotr Messages postés 2 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 4 mars 2009 - 4 mars 2009 à 11:22
Bonjour,

Je suis un réel débutant en Delphi (depuis hier en fait ^^) mais ai des bonnes bases de programmation en Visual Basic, C, Java (un peu), MatLab, etc.
J'ai deux questions par rapport à un projet que je dois réaliser et dont je n'arrive pas à trouver la solution même après avoir parcouru en long et en large les divers forums et FAQ existant.

1. J'aimerais convertir un chiffre (disons 23 et 28) en un caractère de colonne Excel (dans ce cas W et AB) de manière à pouvoir adresser des cases spécifiques d'un tableau Excel comme ceci

if vWorksheet.Range['CA10'].Value = '' then
        vWorksheet.Range['CA10'].Value := 0;
end;

2. Ensuite je pensais insérer une boucle for de manière à parcourir un certain range, disons C2:G120, et ainsi faire le test dessus. Pensez-vous qu'en concaténant les chiffres et lettres ça peut marcher?

1 réponse

TheSotr Messages postés 2 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 4 mars 2009
4 mars 2009 à 11:22
J'ai trouvé par chance la fonction Chr() qui permettait de faire la conversion d'un nombre en code ASCII et j'ai écrit ces lignes pour pouvoir justement transformer le nombre en son "équivalent colonne" en Excel

for k:= 87 to 100 do   // transforme les chiffres de W à AH si je ne fais erreur.
begin
          if (k div 91) < 1 then
          begin
              quotient := k;
              reste := 0;
          end;
          if (k div 91) >= 1 then
          begin
              quotient := 64+(k div 91);
              reste := 65+(k mod 91);
          end;
          J := Chr(quotient);
          L := Chr(reste);
          ShowMessage(J+L);
end;

A adapter selon la fonction voulue. Je vais voir pour la suite et si j'ai des questions je vous redis
0
Rejoignez-nous