Boucle For Each et Offset

Bonjour,

La boucle For Each fonctionne très bien, j'aimerais y intégrer un Offset pour récupérer d'autres données.

Ca ne fonctionne pas et je comprends pas trop pourquoi...

Ci-joint un exemple tout simple.

Merci pour votre aide,

Jeremy

37jeremyw-offset.xlsm (16.23 Ko)

Bonjour,

C et MonRange sont des plage de cellule(s), donc à déclarer en tant que Range. Ensuite, tu attribues ta plage avec une instruction Set.

Aussi, ta plage étant de taille connue, en ce qui me concerne, je préfère utiliser une boule For...Next

Ton code :

Sub Bouton1_Cliquer()

Dim C As Range, MonRange As Range

Set MonRange = ActiveSheet.Range("A1 : A20")
For Each C In MonRange
    If C.Value <> "" Then MsgBox C.Offset(0, 1)
Next C

End Sub

Ma proposition :

Sub Bouton1_Cliquer()

Dim i As Byte

For i = 1 To 20
  MsgBox Cells(i, 2).Value
Next i

End Sub

Merci beaucoup pour ton aide et ta proposition.

Je connaissais une partie du problème sans pouvoir y faire face et Excel me rejetait à chaque fois mes variables Range, me proposant Variant.

Bonne fin de journée.

Jeremy

Bonne journée à toi aussi.

PS :

Rechercher des sujets similaires à "boucle each offset"