Accessibilite & Extraction
yo
Je suis face a un probleme bien embetant et dont la solution doit probablement etre evidente, mais elle m'echappe jusqu'a present.
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
| Private Sub UserForm_Initialize()
Dim c As Range
Dim Wk As Workbook
Dim Ws As Worksheet
Dim p As Range
Dim i As Integer
Dim num1V As Integer
Dim num2V As Integer
num1V = num2V = 0
Set Wk = Workbooks.Open(FileName:="monDoc")
' ActiveSheet <=> wk.ActiveSheet
Set p = ActiveSheet.Cells
For Each c In p
If "num1" = c.Value Then
num1V= c.Column
ElseIf "num2" = c.Value Then
num2V= c.Column
ElseIf 0 <> num1VAnd 0 <> num2VThen
Exit For
End If
Next c
imax = Application.Run("'" & Wk.Name & "'!returnImax")
i = 0
p = ActiveSheet.Range(Cells(1 + 1, num1V ), Cells(imax, num1V )) ' le coeur du probleme, c.f.: ci-dessous
For Each c In p
MsgBox "c.Value: " & c.Value
i = i + 1
If 5 = i Then
Exit For
End If
Next c
End Sub |
Le programme a pour but actuellement d'ouvrir un fichier, d'y localiser deux colonnes specifiques et en extraire les donnees (il ne fait ici que les consulter).
La ligne 28 pose un probleme. Celui-ci se traduit par la transformation de toutes les cellules de ActiveSheet en cellules vides et de la non-selection de la plage p de cellules.
Je ne sais pas quelles sont les causes a l'origine de cette erreur, vraiment aucune idee.
De plus, lorsque dans ma derniere boucle, je cherche a visualiser la valeur de la cellule couramment parcourue, j'obtiens une cellule vide ; ce qui va de pair avec les consequences evoquees ci-dessus mais que je ne comprends encore moins etant donne que dans ma premiere boucle, j'ai une reponse non-vide. La plage p etant differente, j'en deduis que le dysfonctionnement est cause par la seconde affectation a p, mais ne sait pas pour quelle(s) raison(s).
Quelqu'un s'aurait-il m'aider a surmonter ce probleme ?
Merci.