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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| Option Explicit
Option Base 1
Public Lign As Long
Public I, J As Interior
Public Tab_Affec() As String 'Table mémoire qui contient ce que l'on veut comme tableau
Public Trouv As Boolean
Public Mess As String
Public Const FeuilleData = "Feuil2"
Sub Affectation()
Sheets(FeuilleData).Select
Trouv = False
Lign = 2
I = 1
ReDim Tab_Affec(4, I)
Do
For I = 1 To UBound(Tab_Affec, 2)
If Cells(Lign, 1).Value = Tab_Affec(1, I) Then
Call Charg_Tab
Trouv = True
Exit For
End If
Next
If Trouv = False Then
ReDim Preserve Tab_Affec(4, I)
Call Charg_Tab
I = I + 1
Else
Trouv = False
End If
Lign = Lign + 1
Loop While Cells(Lign, 1).Value <> ""
Mess = " Nom " & vbTab & " Affectation1" & vbTab & " Affectation2" & vbTab & " Affectation3" & vbCrLf
For I = 1 To UBound(Tab_Affec, 2)
Mess = Mess & Tab_Affec(1, I) & " " & Tab_Affec(2, I) & vbTab & _
" " & Tab_Affec(3, I) & _
" " & vbTab & Tab_Affec(4, I) & vbCrLf
Next
MsgBox Mess, vbInformation, "Liste des affectations"
End Sub
'-------------------------------------------------------------------------
Sub Charg_Tab()
Tab_Affec(1, I) = Cells(Lign, 1).Value
Select Case Cells(Lign, 2).Value
Case "Affectation 1"
Tab_Affec(2, I) = "Oui"
Case "Affectation 2"
Tab_Affec(3, I) = "Oui"
Case "Affectation 3"
Tab_Affec(4, I) = "Oui"
Case Else
MsgBox "Affectation non prévu par le Programme ! ", vbCritical
End Select
End Sub |
Partager