VBA : stocker n° ligne cellule dans un for each [Fermé]

Signaler
Messages postés
211
Date d'inscription
samedi 24 novembre 2012
Statut
Membre
Dernière intervention
14 janvier 2021
-
 Utilisateur anonyme -
Bonjour,

je souhaiterais réaliser une macro réalisant cela (je résume au passage qui me pose problème) :

for each R in Range("C12:C15")

i = numéro de ligne de R
j = numéro de colonne de R

msgbox i , j
next

Comment procéder ? Je n'arrive pas à identifier l'objet à utiliser pour la ligne et la colonne ainsi que le formalisme à adopter.

Merci


2 réponses

Messages postés
16365
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
13 janvier 2021
3 110
Bonjour

1/ R c'est quoi ?
2/ ta zone est en colonne C (C2:C15), pourquoi demande tu j? c'est 2 !!!


 Michel
Messages postés
211
Date d'inscription
samedi 24 novembre 2012
Statut
Membre
Dernière intervention
14 janvier 2021

R est un cellule. J'aurais du écrire :

dim R as Range 

for each R in Range("C12:C15")

i = numéro de ligne de R
j = numéro de colonne de R

msgbox i , j
next


Je n'ai mis qu'une colonne car j'ai synthétisé mon problème. au final j''utiliserai une plage de plusieurs colonnes.
Utilisateur anonyme >
Messages postés
211
Date d'inscription
samedi 24 novembre 2012
Statut
Membre
Dernière intervention
14 janvier 2021

Mon message #2 répond exactement à ton problème initial. Cordialement.  😊
Bonjour xuorel,

Je te propose d'essayer ce code VBA :


Option Explicit

Sub Essai()
  Dim R As Range
  For Each R In Range("C12:C15")
    MsgBox "n° ligne : " &  R.Row & " ; n° colonne : " & R.Column
    R.Interior.ColorIndex = 19
  Next R
End Sub


Note que n° colonne sera toujours le même : 3 pour colonne C ;
seul n° ligne changera : de 12 à 15.

La ligne qui suit MsgBox est un exemple pour changer une propriété
de ta cellule R : fond jaune clair (couleur de remplissage).

Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».

Cordialement.  😊