Bonjour,

je vais essayer d'être le plus complet possible.

J'ai commencé le VBA il y a peu, essayez d'être indulgent si mes methodes ne sont pas les plus optimums...

j'ai créé un UserForm pour l'encodage les des clés utilisée dans chaque locaux de chaque bâtiment.

Lorsque j'ai eu fini, j'ai exécuté un pas à pas détaillé sans avoir de message d'erreur. C'est alors que j'ai testé en condition réel et Paf => Erreur d'exécution '91'.

Le débogage me ramène à la ligne suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
NumLigne = ActiveSheet.Columns(2).Find(Recherche).Row
Voici le code complet pour la parti concernée :
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
Private Sub Ajouter_Bouton_Click()
'--------------------------------------------------------------------------------------------------------------------------------
                                                                                         'Chercher si le local est déjà existant
 
        'Définition des variables du champ de recherche
 
            Dim Recherche As String
            Dim NumLigne As Integer
 
        'On définit la valeur de Recherche
 
            Recherche = TextBox_Local.Text
 
        'On active la feuille "Matériel en prêt"
 
            Worksheets("Localisation de clés").Activate
 
        'On trouve la ligne qui correspond à la valeur recherche et on enregistre le numéro dans la variable "NumLigne"
 
            NumLigne = ActiveSheet.Columns(2).Find(Recherche).Row
 
         'Si la valeur de "Recherche" n'existe pas encore dans le document alors Recherche = ""
         'Si NumLigne à une valeur, alors MsgBox => Voulez-vous l'éffacer?
 
                If IsEmpty(NumLigne) = True Then Recherche = "" Else
                If Recherche <> "" And NumLigne <> 0 Then RetourMsgBox = MsgBox("Le local existe, voulez-vous l'éffacer ?", vbYesNo, "Local existant")
                If RetourMsgBox = vbYes Then Range("A" & NumLigne & ":" & "AA" & NumLigne).Select
                If RetourMsgBox = vbYes Then Selection.ClearContents
                If RetourMsgBox = vbNo Then ComboBox_Batiment.Value = ""
                If RetourMsgBox = vbNo Then TextBox_Local.Value = ""
 
                Application.CutCopyMode = False
 
'--------------------------------------------------------------------------------------------------------------------------------
                                                                                'On vérifie que les données minimums sont encodées
        If ComboBox_Batiment = "" Then _
        MsgBox "Veuillez selectionner un batiment", vbCritical, "Localisation manquante"
 
        ComboBox_Batiment.SetFocus
 
        If TextBox_Local = "" Then _
        MsgBox "Veuillez selectionner un local", vbCritical, "Localisation manquante"
 
        TextBox_Local.SetFocus
 
'--------------------------------------------------------------------------------------------------------------------------------
                                                                        'On enregistre les données dans la première ligne vide
        'On enregistre les données
 
            ActiveSheet.Cells(NumLigne, 1) = ComboBox_Batiment.Text
            ActiveSheet.Cells(NumLigne, 2) = TextBox_Local.Text
 
            If CheckBox_PorteEntree.Value = True Then _
                ActiveSheet.Cells(NumLigne, 3) = Text_NumPorteEntree.Text
 
            If CheckBox_PorteEntree2.Value = True Then _
                ActiveSheet.Cells(NumLigne, 4) = Text_Local2.Text
                ActiveSheet.Cells(NumLigne, 5) = Text_NumPorteEntree2.Text
 
            If CheckBox_Armoire1.Value = True Then _
                ActiveSheet.Cells(NumLigne, 6) = Text_Armoire1.Text
                ActiveSheet.Cells(NumLigne, 7) = Combo_Type1.Text
                ActiveSheet.Cells(NumLigne, 8) = Combo_TypeOuverture1.Text
                ActiveSheet.Cells(NumLigne, 9) = Text_Note1.Text
 
            If CheckBox_Armoire2.Value = True Then _
                ActiveSheet.Cells(NumLigne, 10) = Text_Armoire2.Text
                ActiveSheet.Cells(NumLigne, 11) = Combo_Type2.Text
                ActiveSheet.Cells(NumLigne, 12) = Combo_TypeOuverture2.Text
                ActiveSheet.Cells(NumLigne, 13) = Text_Note2.Text
 
            If CheckBox_Armoire3.Value = True Then _
                ActiveSheet.Cells(NumLigne, 14) = Text_Armoire3.Text
                ActiveSheet.Cells(NumLigne, 15) = Combo_Type3.Text
                ActiveSheet.Cells(NumLigne, 16) = Combo_Type3.Text
                ActiveSheet.Cells(NumLigne, 17) = Text_Note3.Text
 
            If CheckBox_Armoire4.Value = True Then _
                ActiveSheet.Cells(NumLigne, 18) = Text_Armoire4.Text
                ActiveSheet.Cells(NumLigne, 19) = Combo_Type4.Text
                ActiveSheet.Cells(NumLigne, 20) = Combo_Type4.Text
                ActiveSheet.Cells(NumLigne, 21) = Text_Note4.Text
 
            If CheckBox_Armoire5.Value = True Then _
                ActiveSheet.Cells(NumLigne, 22) = Text_Armoire5.Text
                ActiveSheet.Cells(NumLigne, 23) = Combo_Type5.Text
                ActiveSheet.Cells(NumLigne, 24) = Combo_Type5.Text
                ActiveSheet.Cells(NumLigne, 25) = Text_Note5.Text
 
            If CheckBox_Armoire6.Value = True Then _
                ActiveSheet.Cells(NumLigne, 26) = Text_Armoire6.Text
                ActiveSheet.Cells(NumLigne, 27) = Combo_Type6.Text
                ActiveSheet.Cells(NumLigne, 28) = Combo_Type6.Text
                ActiveSheet.Cells(NumLigne, 29) = Text_Note6.Text
 
            If CheckBox_Armoire7.Value = True Then _
                ActiveSheet.Cells(NumLigne, 30) = Text_Armoire7.Text
                ActiveSheet.Cells(NumLigne, 31) = Combo_Type7.Text
                ActiveSheet.Cells(NumLigne, 32) = Combo_Type7.Text
                ActiveSheet.Cells(NumLigne, 33) = Text_Note7.Text
 
            ActiveSheet.Cells(NumLigne, 38) = Text_Autres.Text
 
        'On ferme l'UserForm
 
            Inventaire_Locaux.Hide
 
End Sub

Où ais-je commis un impair?

Merci d'avance