La méthode 'Range' de l'objet '_Global' a échoué
Bonjour,
J'ai créé ce bout de 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 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 |
mais je ne comprends pas 2 choses :
- 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