INDEX et Colonne

chtebel Messages postés 62 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 3 janvier 2011 - 27 oct. 2008 à 14:47
chtebel Messages postés 62 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 3 janvier 2011 - 28 oct. 2008 à 08:20
Bonjour

j'essaie d'écrire en VBA dans une cellule la formule:
cells(1,i).formula="=INDEX(prix!C:C;$A3)"

mais en fait que la colonne dans laquelle on cherche change qd on avance avec la boucle et l'iération i,
cad à l'iteration suivante, je veux

cells(1,i).formula="=INDEX(prix!D:D;$A3)"

Le probleme est bien sur d'incrementer les lettres

j'ai essayé du type
INDEX(prix!colonne(i);$A3)
mais il semble que cela ne fonctionne pas, meme si l'intuition est claire.

Quelqu'un aurait une idée?

Merci a tous

8 réponses

lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
27 oct. 2008 à 14:57
Bonjour,

cells(1,i).formula="=INDEX(prix!" & colonne(i) & ";$A3)"

Tente je garantis pas...

S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <
0
chtebel Messages postés 62 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 3 janvier 2011 1
27 oct. 2008 à 15:29
merci mais non ca ne marche pas, car
cells(1,i).formula="=INDEX(prix!D:D,$A3)" car INDEX(prix!D:D;$A3) marche dans excel(en changeant bien le ; en , pour ecrire en anglais dans vba)

mais

cells(1,i).formula="=INDEX(prix!" & colonne(i) & ";$A3)" ne peut pas marcher
car INDEX(prix! colonne(i);$A3) ne marche pas en excel alorq que pour moi ca devrait..

Le but c'est d'avoir la syntaxe excel qui marche, apres celle de VBA en découle

une idée??
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
27 oct. 2008 à 15:34
As-tu essayé???
Mais si tu es sur que ca fonctionne pas... Je n'instiste pas.
La diférence c'est
INDEX(prix! colonne(i);$A3) sera écrit de la meme façon que saisi ici alors que
cells(1,i).formula="=INDEX(prix!" & colonne(i) & ";$A3)" va donner la valeur de colonne(i) et le concatener au sein de ta formule.
Bonne recherche
S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <
0
chtebel Messages postés 62 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 3 janvier 2011 1
27 oct. 2008 à 15:39
Par exemple en excel

=INDEX(1:1;8)

donne la valeur a l'intersection de la ligne 1 et de la 8 emme colonne. donc pas de probleme pour boucler sur i

et

=INDEX(H:H;1) donne la valeur à l'intersection entre la 8eme colonne et la premiere ligne et la probleme en effet

moi ce que j'essaie de savoir pour le mettre en VBA derriere, comment on pourrait ecrire cette intersection avec des chiffres comme pour les lignes au dessus, au lieu d'avoir des H.
0

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

Posez votre question
chtebel Messages postés 62 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 3 janvier 2011 1
27 oct. 2008 à 15:40
oui j'ai essayé, jvais reverifié..j'avais pas vu ta réponse...en fait posé simplement la question revient à mon dernier post en fait

et merci du coup de main ;-)
0
chtebel Messages postés 62 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 3 janvier 2011 1
27 oct. 2008 à 16:01
sachant que chr(65) renvoie A et chr(66) rernvoie B mais que j'ai besoin d'aller à AA AB etc.....
0
chtebel Messages postés 62 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 3 janvier 2011 1
27 oct. 2008 à 16:42
j'ai trouvé avec l'aide de mix de vieux forum jmettrai la reponse ce soir pour ceux que ca interessent
0
chtebel Messages postés 62 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 3 janvier 2011 1
28 oct. 2008 à 08:20
hello, alors comme promis la réponse que jai trouvé sur le net

ben en fait la petite ligne de code ci-dessous
a = Split(Cells(1, j).Address, "$")(1)

permet de récupérer dans a un string qui a pour valeur le nom en lettre de la colonne numéro j.

et donc plus de souci derrière
Magique jvous dis.
bonne journée
0
Rejoignez-nous