PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Incrémenter des lettres
Incrémenter des lettres
Started by Nicolas, Mar., 30 2006 12:42 PM - 5 replies
Posted on March, 30 2006 - 12:42 PM
Bonjour,

La demande peut sembler farfelu mais je souhaite savoir s'il existe une instruction ou un opérateur du style :

i = "A"
i++
i = "B"

L'interet porte sur le traitement de document Excel, lorsque l'on désire parcourir des colonnes et non des lignes.

Merci de vos réponses,

Nicolas.
Posted on March, 30 2006 - 12:53 PM
b est entier
POUR b=1 A 26
Trace(Caract(64+b))
FIN

Nicolas a formulé la demande :
Bonjour,

La demande peut sembler farfelu mais je souhaite savoir s'il existe une
instruction ou un opérateur du style :

i = "A"
i++
i = "B"

L'interet porte sur le traitement de document Excel, lorsque l'on désire
parcourir des colonnes et non des lignes.

Merci de vos réponses,

Nicolas.


--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
Posted on March, 30 2006 - 12:59 PM
salut

tu peux le faire an passant par le code ascii

i est entier
i=Asc("A")
i++
info(Caract(i)) // Donne 'B'
Posted on March, 30 2006 - 1:04 PM
machaine=Caract(Asc(machaine)+1)
Posted on March, 30 2006 - 1:25 PM
Merci à vous trois :)
Posted on March, 30 2006 - 5:20 PM
Bonjour,


i = "A"
i++
i = "B"
-----------------------------------
b est entier
POUR b=1 A 26
Trace(Caract(64+b))
FIN
------------------------------------
i est entier
i=Asc("A")
i++
info(Caract(i)) // Donne 'B'
------------------------------------
machaine=Caract(Asc(machaine)+1)

Attention : les colonnes d'une feuille excel peuvent dépasser le nombre 26
A,B,C,D.....Z,AA,AB,.....EA,EB.....

Essaye ça :

b est entier
POUR b=1 A 32
txt+=(Caract(64+b))+"/"
FIN
ça donne : "A/B/C/D/E........Z/[/\/]/..... donc pas convenable pour les col. excel


Essaye ça : avec par exemple 188 colonnes

b,c est entier
ALPHA est une chaine="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
POUR b=1 a 188
--si b<&
-----trace(milieu(ALPHA,b,1)+"/")
--sinon
-----c++
-----si c>26
--------c=1
-----fin
-----trace(milieu(alpha,(partieentiere((b-1)/26)),1)+milieu(alpha,c,1)+"/")
--fin
fin
fin

Bonne chance

Ali Hindi : AliDev7@yahoo.fr