syntaxe error avec range

syntaxe error avec range - VB/VBA/VBS - Programmation

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 ?:)

Reply

Marsh Posté le 04-03-2015 à 11:48:11   

Reply

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


---------------
il s'appel le ronge me doute
Reply

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.

Reply

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)).

Reply

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 ;)


Message édité par Arl Guhr le 04-03-2015 à 23:50:23

---------------
il s'appel le ronge me doute
Reply

Marsh Posté le 06-03-2015 à 11:09:14    

Merci j'ai compris !:) C'est ce que vous disiez :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed