bonjour,
Il suffirait de protéger le classeur...
La macro suivante fait ce que tu demandes :
Code :
- Sub Test()
- Dim MemWs$, Ws$
- Application.ScreenUpdating = False
- MemWs$ = ActiveSheet.Name
- Application.Goto Reference:="verifications"
- Ws = ActiveSheet.Name
- Worksheets(MemWs).Activate
- Application.ScreenUpdating = True
- For Each Cell In Sheets(Ws).Range("verifications" )
- 'longue suite d'instruction
- Next
- End Sub
|
Une autre possibilité peut-être plus élégante :
Code :
- Sub Test2()
- Dim Ws$
- On Error Resume Next
- For i = 1 To Worksheets.Count
- Ws = Worksheets(i).Range("verifications" ).Address <> ""
- If Ws <> "" Then Exit For
- Next
- Ws = Worksheets(i).Name
- On Error GoTo 0
- For Each Cell In Sheets(Ws).Range("verifications" )
- 'longue suite d'instruction
- Next
- End Sub
|
Sur le même principe tu peux utiliser aussi cette fonction :
Code :
- Function WSN() As String
- Dim i%, Ws$
- On Error Resume Next
- For i = 1 To Worksheets.Count
- Ws = Worksheets(i).Range("verifications" ).Address <> ""
- If Ws <> "" Then Exit For
- Next
- WSN = Worksheets(i).Name
- End Function
|
et l'utiliser de cette manière :
Code :
- For Each Cell In Sheets(WSN ).Range("verifications" )
|
On fait comme on aime...
A+
Message édité par galopin01 le 31-05-2006 à 09:26:01
---------------
roger