Bonjour tout le monde,
Je suis en train de coder un programme en VBA afin d'actualiser automatiquement une base de données et lors de la compilation de mon code, excel me répond qu'il y a une "erreur de compilation : Sub ou Function non définie". Je ne comprends pas pk il me répond cela et ou se trouve l'erreur, j'ai beau chercher sur internet, je ne trouve pas la solution.
Voici le code en question qui pose problème :
Qq remarques sur mon code :
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 'procedure that update the database by treating all the new datas Sub updateall() For i = 0 To number_of_line - 3 determinetypeofpatient (i) If typeofpatient = "newpatient" Then patientnew (i) ElseIf typeofpatient = "existingpatient" Then patientexisting (i) Else MsgBox "Error with the patient number " & i & "." & Chr(10) & "Please, deal with it manually." End If Next i End Sub 'procedure that decides if the patient whose number of line is "values" is new or not and return a string "newpatient" or "existingpatient" Sub determinetypeofpatient(ByVal values As Integer) Dim typeofpatient As String Dim positionlinepatientexisting As Integer For i = 0 To number_of_line_in_the_database - 3 If base(i, positioncolumndatabase - 1) = table(values - 3, positioncolumn - 1) Then typeofpatient = existingpatient positionlinepatientexisting = i Exit For ElseIf i = number_of_line_in_the_database - 3 Then typeofpatient = newpatient Else End If Next i End Sub
- number_of_line et number_of_line_in_the_database sont des integer déclarés en début de module
- patientexisting (i)et patientnew(i) sont des procédures du reste de mon code qui prennent comme argument un integer (i)
- base et table sont 2 tableaux que j'ai crée auparavant (les bornes des boucles sont bonnes)
Lorsqu'excel m'indique l'erreur, il en profite pour surligner en jaune la ligne suivante :
J'espère que vous pourrez m'aider à trouver l'erreur ! Car vraiment je ne sais pas quoi faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Sub determinetypeofpatient(ByVal values As Integer)
J'en profite pour poser une question assez simple. Si on veut utiliser un tableau dans plusieurs procédures, faut-il nécessairement le déclarer en début de module ou le fait de le déclarer dans une procédure ne pose pas de problème ?
Merci à vous![]()
Partager