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
Merci par avance pour l'aide que vous pourrez m'apporter
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Amicalement
René








Répondre avec citation


pour chaque message ayant aidé puis sur
pour clore cette discussion …
Partager