syntaxe error avec range - VB/VBA/VBS - Programmation
Marsh Posté le 04-03-2015 à 12:43:15
Bonjour,
Range("A" &i).select
Permet de modifier la cellule active dans l'interface.
Si tu veux la valeur :
Range("A" &i).value
Ma manière de faire en générale, si j'accède un tableau c'est de commencer par :
Set Ra = range("B2" )
Pour pointer sur la première cellule de donnée d'un tableau (en gros, mon tableau de données est décalé d'une colonne)
puis Ra.cells( 1, 3 ).value pour aller dans la 1ère ligne de données, dans la 3ème colonne du tableau. ici, j'aurais la valeur qui se trouve en D2
Bon courage
Marsh Posté le 04-03-2015 à 13:14:03
Merci de ta réponse, je suis nouveau en VBA donc j'ai encore pas mal de difficulté sur l'utilisation des fonctions de base.
Pour récupérer la valeur d'une case j'ai un soucis, j'aimerai afficher par exemple le contenu d'une case
i=0
b=Range("A" &i).value
msgbox b
Mais elle ne me retourne rien, pourtant case est bien remplis.
Marsh Posté le 04-03-2015 à 15:47:09
i est un nombre. Il faut le convertir en une petite chaine de caractères. Par défaut, VBA le fait, mais ne le fait pas tout à fait comme il le faudrait pour ce cas précis, car il met un blanc devant le nombre (si je me souviens bien). Donc, il faut faire "A" & CStr(i) (si je me souviens bien (je ne peux pas tester là où je suis)).
Marsh Posté le 04-03-2015 à 23:33:34
Il n'y a pas de problème d'espace (sauf si après le "A", il y a un espace avant le guillemet de fermeture) et effectivement , il y a une conversion implicite (de manière explicite, il faudrait effectivement utiliser "cstr(i)" )
Dans ce cas précis : la cellule A0 n'existe pas
Et à priori, même si la msgbox ne s'affiche pas, tu as du recevoir un message d'erreur qu'il faut prendre le temps de lire et essayer de comprendre
Marsh Posté le 04-03-2015 à 11:48:11
Bonjour,
je suis sous excel 2010 et j'ai des difficultés pour utiliser range avec une variable
Exemple : Range ("A1" &i).select ne fonctionne pas
ni Range("A" & i & ":S" & i).Select
Pouvez vous m'aider ?