Les variables dans la fonction INDEX

Résolu/Fermé
Livior - 2 juin 2008 à 23:37
 Livior - 3 juin 2008 à 13:57
Bonjour,

Dans le cadre d'un petit programme sous VBA Excel 2003 je souhaite utiliser la fonction INDEX. Lorsque j'écris :

Cells(1, 1).Value = "=INDEX([Projetxls.xls]Accueil!R5C1:R5C7,,2)"

J'obtiens en A1 la valeur souhaitée.

En revanche si je crée une variable xx=2, le programme :

dim xx as integer
xx=2
Cells(1, 1).Value = "=INDEX([Projetxls.xls]Accueil!R5C1:R5C7,,xx)"

me renvoie une erreur "NOM"

Est-ce un problème de définition de variable ?

Merci.

1 réponse

Ivan-hoe Messages postés 433 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 17 octobre 2008 309
3 juin 2008 à 11:06
Bonjour,
quand on insère une variable dans une formule Excel, il faut la ressortir des guillemets (sinon, c'est son nom qui est pris en compte dans la formule)
Cells(1, 1).Value = "=INDEX([Projetxls.xls]Accueil!R5C1:R5C7,," & xx & ")"

Et comme c'est une formule qu'on écrit, il est préférable d'utiliser Formula plutôt que Value :
Cells(1, 1).Formula = "=INDEX([Projetxls.xls]Accueil!R5C1:R5C7,," & xx & ")"

I.
0
Un grand merci pour ce dépannage qui me permet de débloquer une situation sur laquelle je séchais depuis plusieurs jours.

Cordialement

Livior
0