Identification des cellules Excel dans VB

Résolu
FGIO51 Messages postés 29 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 17 janvier 2014 - 14 déc. 2005 à 14:32
bigondas Messages postés 31 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 5 septembre 2006 - 15 déc. 2005 à 09:20
Bonjour,

Je viens de voir qu'une partie de mon code s'execute mal car il ne trouve pas mes cellules.

Exemple:
Au départ je codais ceci:
Range("D2").Select
ActiveCell.FormulaR1C1 = "=RIGHT(N15,7)"

Hors VB comprend ceci:
Range("D2").Select
ActiveCell.FormulaR1C1 = "=RIGHT(R[13]C[10],7)"

J'ai le même problème avec d'autre cellule mais je n'ai pas compris comment les cellules sont identifiées par VB.
Y-a-t-il une clé pour ne pas avoir à passer par l'enregistreur de macro pour connaître la position des cellules?

D'avance merci

7 réponses

FGIO51 Messages postés 29 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 17 janvier 2014
14 déc. 2005 à 16:01
J'ai trouvé!!!!
en fait il compte à partir de D2
donc colonne D(soit 4) + 10=colonne 14
ligne 2 + 13=ligne 15
Donc je suis bien au final en cell(14,15)

Faut le savoir.

Merci de ton aide bigondas ;)
3
bigondas Messages postés 31 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 5 septembre 2006
14 déc. 2005 à 15:11
si tu travailles dans VB excel, VB identifie les cellules comme ça :
cells(numéro de la colone, numéro de la ligne)
exemple :
cellule A1 sera représenté en VB par Cells(1,1)
cellule A2 : Cells(1,2)
Cellule D5 : Cells(4,5)

si ça peut t'aider :)
0
FGIO51 Messages postés 29 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 17 janvier 2014
14 déc. 2005 à 15:29
Comme tu m'as annoncé j'ai modifier ma formule comme suit:
Range("D2").Select
ActiveCell.FormulaR1C1 = "=RIGHT(cells(14,15),7)"

Mais cla ne marche pas je dois aller chercher la cellule N15 donc selon ton post cela devais être cells(14,15) mais j'obient une erreur #NAME?
Pourquoi N15= R[13]C[10].
Ou alors je me trompe et R[13]C[10] ne sont pas les coordonnées de N15.
Je n'y comprend plus rien moi....
:@
0
bigondas Messages postés 31 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 5 septembre 2006
14 déc. 2005 à 15:38
Range("D2").Select
ActiveCell.FormulaR1C1 = cells(14,15)

essai ça ou ça :

Range("D2").Select
ActiveCell = cells(14,15)
0

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

Posez votre question
FGIO51 Messages postés 29 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 17 janvier 2014
14 déc. 2005 à 15:51
Merci mais tu as zappé la fonction que je veux utiliser càd RIGHT(cellule,nb)
car en N15 j'ai une suite du style A0501001 (N° d'avoir) et pour incrémenter la suite donc d'autre N° de facture du style 0501002 je fais
Range("D2").Value + 1
Mais VB ne sais pas faire A0501001 + 1, donc je dois supprimer le A soit:
Right(N15,7)

Mais merci de ton aide c'est cool

Ce doit être plus clair avec plus d'explication. Désolé mais comme je débute j'essaye d'être le plus précis en vb sans mettre le cadre de mon projet ;)
0
bigondas Messages postés 31 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 5 septembre 2006
14 déc. 2005 à 16:04
ouf, ben, c'est cool ke ça marche, jsui content pour toi ;)
0
bigondas Messages postés 31 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 5 septembre 2006
15 déc. 2005 à 09:20
oublies pas de cocher "réponse acceptée"
0
Rejoignez-nous