Aide pour un code VBA Excel
Bonjour à tous,
Dans un fichier Excel, j'ai un tableau. Dans la colonne A de ce tableau une liste de chiffre de 1 à 28 qui correspondent à des numéros de fiches.
Lorsque je double-clique dans la case où se trouve le numéro 1 alors la fiche 1 s'affiche et ainsi de suite pour les autres numéros.
Je cherche à mettre en place qui empêcherai l'utilisateur d'ouvrir la fiche si la case de la colonne B sur la même ligne que le chiffre est vide.
Par exemple : Je double-clique en A12 où il y a le numéro 1 mais que la cellule B12 est vide alors rien ne se produit, mais un message indique à l'utilsateur qu'il doit mettre son nom en B12.
Bien entendu, le même message doit apparaître pour chaque double-clique des cellules A12 à A39.
Voici le code déjà en place. Il faudrait donc ajouter cette option à ce code
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
|
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'on error GoTo fin
If Not Intersect([A12:A39], Target) Is Nothing Then
Target.Interior.ColorIndex = 4 'La cellule se colore en vert"
Dim FNew As Worksheet, Wb As Workbook, Sh As Worksheet
Dim Cible As String
Dim NumLig As Variant
NumLig = ActiveSheet.Range("D5")
Cible = ("FL" & NumLig)
Set Wb = ThisWorkbook
On Error Resume Next
Set FNew = Wb.Worksheets(Cible)
On Error GoTo fin
If Not FNew Is Nothing Then
FNew.Activate
FNew.Visible = True
Else
GoTo fin
End If
'on masque les feuilles inutiles
For Each Sh In Wb.Worksheets
If FNew.name <> Cible Then
If FNew.name <> ("L" & NumLig) Then
FNew.Visible = xlSheetVeryHidden
End If
End If
Next Sh
FNew.Cells((Target.Value - 1) * 41 + 2, 3).Select
'Application.GoTo reference:=
End If
FNew.Rows("1:1185").Hidden = True
FNew.Range(FNew.Cells((Target.Value - 1) * 41 + 2, 3), FNew.Cells((Target.Value - 1) * 41 + 1 + 38, 3)).EntireRow.Hidden = False
FNew.Cells((Target.Value - 1) * 41 + 2, 3).Select
fin:
Set FNew = Nothing: Set Wb = Nothing: Set Sh = Nothing
End Sub |
Merci par avance pour l'aide que vous pourrez m'apporter
Amicalement
René