INDEX et Colonne

Messages postés
62
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
3 janvier 2011
- - Dernière réponse : 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
Afficher la suite 

8 réponses

Messages postés
1231
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
0
Merci
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 -- <
Commenter la réponse de lillith212
Messages postés
62
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
3 janvier 2011
1
0
Merci
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??
Commenter la réponse de chtebel
Messages postés
1231
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
0
Merci
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 -- <
Commenter la réponse de lillith212
Messages postés
62
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
3 janvier 2011
1
0
Merci
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.
Commenter la réponse de chtebel
Messages postés
62
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
3 janvier 2011
1
0
Merci
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 ;-)
Commenter la réponse de chtebel
Messages postés
62
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
3 janvier 2011
1
0
Merci
sachant que chr(65) renvoie A et chr(66) rernvoie B mais que j'ai besoin d'aller à AA AB etc.....
Commenter la réponse de chtebel
Messages postés
62
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
3 janvier 2011
1
0
Merci
j'ai trouvé avec l'aide de mix de vieux forum jmettrai la reponse ce soir pour ceux que ca interessent
Commenter la réponse de chtebel
Messages postés
62
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
3 janvier 2011
1
0
Merci
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
Commenter la réponse de chtebel