Bonjour,
J'ai créé ce bout de code
mais je ne comprends pas 2 choses :
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 Dim Demandeur As String Dim Service As String Dim Date_Enregistrement As Date Dim Projet As String Dim N_Enregistrement As Long Dim Ma_Var As Variant Dim Analyse_1 As Variant Dim Analyse_2 As Variant Dim Analyse_3 As Variant Dim Analyse_4 As Variant Dim Analyse_5 As Variant Dim Analyse_6 As Variant Dim Analyse_7 As Variant Dim Analyse_8 As Variant Dim Analyse_9 As Variant Dim Analyse_10 As Variant Dim Cell_ref As Range Dim N_Ligne As Long Dim Ma_Select_2 As Range 'Procédure permettant de récupérer toutes les données pour le transfert dans le fichier base Public Sub Recup_Donnees() Demandeur = Range("C4").Value Service = Range("C5").Value Date_Enregistrement = Range("C7").Value Projet = Range("C6").Value Analyse_1 = "" Analyse_2 = "" Analyse_3 = "" Analyse_4 = "" Analyse_5 = "" Analyse_6 = "" Analyse_7 = "" Analyse_8 = "" Analyse_9 = "" Analyse_10 = "" For Each Cell_ref In Range("Reference") If Cell_ref.Value <> "" Then N_Ligne = Cell_ref.Row Call Recup_Analyse Call Enregistremen_Base End If Next Cell_ref End Sub Public Sub Recup_Analyse() 'Sélection de la plage pour vérification des analyses demandées Set Ma_Select_2 = Sheets("Formulaire").Range("D" & N_Ligne & ": M" & N_Ligne) i = 1 For Each Cell In Ma_Select_2 If Cell.Value = "O" Then N_Col = Cell.Column Select Case i Case 1 Analyse_1 = Range(Cells(4, N_Col)).Value Case 2 Analyse_2 = Range(Cells(4, N_Col)).Value Case 3 Analyse_3 = Range(Cells(4, N_Col)).Value Case 4 Analyse_4 = Range(Cells(4, N_Col)).Value Case 5 Analyse_5 = Range(Cells(4, N_Col)).Value Case 6 Analyse_6 = Range(Cells(4, N_Col)).Value Case 7 Analyse_7 = Range(Cells(4, N_Col)).Value Case 8 Analyse_8 = Range(Cells(4, N_Col)).Value Case 9 Analyse_9 = Range(Cells(4, N_Col)).Value Case 10 Analyse_10 = Range(Cells(4, N_Col)).Value End Select i = i + 1 End If Next Cell End Sub
- tout d'abord, il ne veut pas que je mette mes variable Analyse_1,... en tant que variable String : Pourquoi??
-Lorsque je lance le code, ca commence bien car je récupère bien ma première valeur Analyse_1 mais la seconde boucle message d'erreur "La méthode 'Range' de l'objet '_Global' a échoué "
Pourquoi d'après vous?
Merci d'avance
Fred
Partager