Salut Eric
J'avais toute une série d'occurence dans le livre de John Walkenbach.
On peut tester sur une valeur = ou <= ou >= ou une série discontinue de valeurs
Code:Case 1 to 5
Code:Case Is < 3
A noter également, et cela peut être très utile que les cas peuvent être aussi de type boolean.Code:Case 1,3,5
Le code prendra en compte la 1ère condition vraie, les conditions ne pouvant avoir aucun lien entre elles
Pour ma part, donc, nous aurions pu coder ainsi pour le cas présentCode:
1
2
3
4
5
6
7
8
9 Select Case True Case ThisWorkbook.Worksheets.Count = 2 .... Case Worksheets("lafeuille").[Toto] = "lebonpasteur" .... End Select
A noter également, que les méthodes Select Case peuvent être imbriquées.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 Option Explicit Option Compare Text Sub Choix_Colonne_Marcel() Dim data As Worksheet Dim dern_row As Integer Dim i As Integer Dim lachaine As String Set data = ThisWorkbook.Sheets(1) With data dern_row = .Cells(.Rows.Count, 12).End(xlUp).Row For i = 1 To dern_row With .Cells(i, 12) Select Case .Value Case "RESTREINT" lachaine = "EDF" Case "INTERNE" lachaine = "DETINATAIRE" Case Else lachaine = .Offset(0, -1).Value End Select .Offset(0, -1).Value = lachaine End With Next i End With Set data = Nothing End Sub