Titre du sujet : Re: Aide sur code par Eric le 13/05/2009 20:17:30
Bonsoir à tous
Bonsoir Kelly
Le code du module modifié :
ption Explicit
Public KO As Boolean
Public ma_feuille As String
Public macol
Public maligne
Public trouve As Integer
Public valeur_cellule 'As String
Sub recherche()
Dim a As Integer
Dim i As Integer
Dim pos As Integer
Select Case macol
Case 3, 7, 11, 15, 19, 23
a = 3
Case 5, 9, 13, 17, 21, 25
a = 5
End Select
For i = 0 To 5
If macol <> a + (i * 4) Then
If Worksheets(ma_feuille).Cells(maligne, a + (i * 4)) <> "" Then
If InStr(valeur_cellule, CStr(Worksheets(ma_feuille).Cells(maligne, a + (i * 4)))) <> 0 Then MsgBox "Ce mat�riel est d�j� r�serv� sur cette p�riode !": trouve = 1: Exit Sub
If InStr(CStr(Worksheets(ma_feuille).Cells(maligne, a + (i * 4))), valeur_cellule) <> 0 Then MsgBox "Ce mat�riel est d�j� r�serv� sur cette p�riode !": trouve = 1: Exit Sub
End If
End If
Next i
End Sub
Sub materiel()
Dim i As Integer
Dim lalong As Integer
Dim valeur_cellule_intermediaire
Dim pos As Integer
If InStr(valeur_cellule, "+") <> 0 Then
valeur_cellule_intermediaire = valeur_cellule
lalong = Len(valeur_cellule)
pos = InStr(valeur_cellule, "+")
valeur_cellule = Left(valeur_cellule_intermediaire, pos - 2)
recherche
If trouve = 1 Then Exit Sub
valeur_cellule = Right(valeur_cellule_intermediaire, lalong - pos - 1)
recherche
Else
recherche
End If
End Sub
Le code de la Feuille modifié :
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target(1).Value = "" Then Exit Sub
ma_feuille = ActiveSheet.Name
macol = Target.Column
maligne = Target.Row
valeur_cellule = Target.Value
'recherche
materiel
End Sub
Si tu dois ajouter d'autres matériels, il faudra peut-être ajuster. Pour l'instant, cela doit (!) fonctionner avec PC1 et autre PC1 + sono, cad avec un + entouré d'espaces.
Eric
|