adressage et/ou sélection

2 réponses
Avatar
lauxeti
Bonsoir ,

Je souhaiterais en vba , s=E9lectionner une cellule dans une zone nomm=E9e
("tablo") d'un classeur en connaissant le n=B0 de ligne et le n=B0 de
colonne ( n=B0lig =3D 5, n=B0col=3D7) de la cellule =E0 s=E9lectionner .

var1 =3D 5
var2 =3D 7

Comment s=E9lectionner la cellule correspondant =E0 H7( par ex.)avec les
variables var1, var2 et "tablo" ?
Merci
ci joint un fichier exemple

http://cjoint.com/?AJbuUXVU2Hk

2 réponses

Avatar
DanielCo
Bonsoir,
Si var1 correspond au n° de ligne de la feuille :
Cells(var1, var2).Select
Si var1 correpond au n° de ligne par rapport au tableau (1 étant la
première ligne du tableau :
Range("Tablo")(var1,var2).Select
Cordialement.
Daniel

Bonsoir ,

Je souhaiterais en vba , sélectionner une cellule dans une zone nommée
("tablo") d'un classeur en connaissant le n° de ligne et le n° de
colonne ( n°lig = 5, n°col=7) de la cellule à sélectionner .

var1 = 5
var2 = 7

Comment sélectionner la cellule correspondant à H7( par ex.)avec les
variables var1, var2 et "tablo" ?
Merci
ci joint un fichier exemple

http://cjoint.com/?AJbuUXVU2Hk
Avatar
MichD
Bonjour,

Dans le classeur que tu as publié, les variables ligne et colonne font référence à des coordonnées d'une cellule de la
feuille de calcul. Si tu veux trouver à quelle cellule de ton tableau ces coordonnées font référence, tu vérifies si
l'intersection des 2 plages de cellules a au moins une cellule en commun.
Tu as 2 plages de cellules
A ) Cells(5,7) qui est la cellule G5 de ta feuille de calcul
B ) Range("Tablo") qui est la plage E5:K11

Dans la procédure Rg représente l'intersection entre les 2 plages de cellules.

Pour exécuter ce qui suit, la feuille de ton tableau doit être la feuille affichée à l'écran
'------------------------
Sub test()
Dim Rg As Range, VarCol As Integer, VarLigne As Long

VarLigne = 5
VarCol = 7

Set Rg = Intersect(Cells(VarLigne, VarCol), Range("Tablo"))
If Not Rg Is Nothing Then
MsgBox "Les coordonnées correspondent à " & _
"la cellule """ & Rg.Address & """ du tableau."
Else
MsgBox "les coordonnés des variables " & _
"ne font pas partie du tableau."
End If
End Sub
'------------------------

Une autre façon de comprendre la chose, si ta variable ligne est 5 et que ton range("Tableau") débute à la ligne 5, la ligne
5 représente la première ligne du Range("Tablo") . Tu appliques le même raisonnement pour les colonnes. Maintenant, tu
pourrais écrire ceci :

Msgbox Range("Tablo").Cells(1,3).address
Le "1" représente la première ligne dans le tableau
le "3" représente la 3e colonne du tableau, la colonne 5 étant la première colonne, en conséquence, la colonne 7 est la 3e
ligne.

à partir de cela, on peut déduire différentes syntaxes, ça devient une question de préférence !


MichD
------------------------------------------
"lauxeti" a écrit dans le message de groupe de discussion :


Bonsoir ,

Je souhaiterais en vba , sélectionner une cellule dans une zone nommée
("tablo") d'un classeur en connaissant le n° de ligne et le n° de
colonne ( n°lig = 5, n°col=7) de la cellule à sélectionner .

var1 = 5
var2 = 7

Comment sélectionner la cellule correspondant à H7( par ex.)avec les
variables var1, var2 et "tablo" ?
Merci
ci joint un fichier exemple

http://cjoint.com/?AJbuUXVU2Hk