Valeur Numérique......

Résolu
speeddo Messages postés 63 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 25 novembre 2005 - 27 avril 2005 à 14:54
speeddo Messages postés 63 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 25 novembre 2005 - 27 avril 2005 à 16:19
J'effectue une boucle for, puis j'aimerais utiliser la valeur numérique de la varible qui se fait incrémenter:

for(i=0;i<10;i++)
{
vRange=i;
vCell=vWorksheet.OlePropertyGet("Cells",1,vRange );
vCell.OlePropertySet("Value","ok");
}

se programme plante.
Pourtant, lorsque je mets directement une valeur numérique dans la ligne rouge , le code fonctionne et une case est rempli dans Excel.

donc si quelqu'un sait comment récupérer la valeur de 'i', alors je peux remplir les 10 cases automatiquement.

5 réponses

speeddo Messages postés 63 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 25 novembre 2005 1
27 avril 2005 à 16:19
ça y est!!!

j'ai trouvé!!
En fait, puisque je voulais remplir plusieurs cellules d'excel, j'ai fait une boucle for(i=0;i<10;i++)
le problème venait de cette ligne, en effet i=0, or dans excel, il n y a pas de colonne 0!!!
3
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
27 avril 2005 à 15:17
Je sais pas ce que font tes fonctions, mais si vRange est un nombre
(n'importe quel type), la valeur de i sera éventuellement convertie,
mais récupérer i de cette facon marche tout a fait.



"Pourtant,
lorsque je mets directement une valeur numérique dans la ligne rouge ,
le code fonctionne et une case est rempli dans Excel. " Je comprend pas la.


vCell=vWorksheet.OlePropertyGet("Cells",1, (int)vRange ); <=== et ca, ca marche ? Si ca marche pas c'est débile, puisque tu me dis que ca, ca marche:


vCell=vWorksheet.OlePropertyGet("Cells",1, i );
0
speeddo Messages postés 63 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 25 novembre 2005 1
27 avril 2005 à 15:33
en fait si j'ecris moi même ce qu'il doit y avoir à la place de i, ça marche:

for (i=0; i<10;i++)
{
vCell=vWorksheet.OlePropertyGet("Cells",1,1 );
vCell.OlePropertySet("Value","ok");
}

--> mais une seule cellule va etre rempli: A1

moi je souhaite que 10 cellules soient remplies:
for(i=o;i<10;i++)
{
vCell=vWorksheet.OlePropertyGet("Cells",1,i);
vCell.OlePropertySet("Value","ok");
}

et ça, ça marche pas!!!!

0
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
27 avril 2005 à 15:50
le type de i est bien "int" ? essaies a tout hazard de mettre qqchose de type "char" a la place de i dans : vCell=vWorksheet.OlePropertyGet("Cells",1,i);

D'ailleurs qu'est ce qu'il se passe quand ca plante?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
speeddo Messages postés 63 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 25 novembre 2005 1
27 avril 2005 à 16:00
Si je mets char à la place de int pour i, ça ne change rien
0
Rejoignez-nous