Bonjour tout le monde,
J'ai un fichier dans lequel j'importe les données sous forme de tab(), que je retraite et que je colle dans un Range.
J'utilise toujours le même format quelque soit les traitements que j'applique et cela fonctionne toujours à l'exception de la sub qui me sert à concatener les valeurs de deux tab().
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 Sub concattest() 'Déclarées dans un module de variables Public aWs As Worksheet Public sWs As Worksheet Public pWs As Worksheet Public iRow As Integer Public lRow As Integer Public ParamTab() As Variant Public TempTab_1() As Variant Public TempTab_2() As Variant Public FinalTabConcat() As String Public sFieldOFST As String Public sField As String ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Set rTableParameters = pWs.Range("TableParameters") ParamTab = rTableParameters.Value iRow = 1 lRow = 1221 SplitTab = Split(ParamTab(iRow, 6), ";") TempTab_1 = fField(SplitTab(0)) TempTab_2 = fField(SplitTab(1)) ReDim FinalTabConcat(UBound(TempTab_1), 1) For i = LBound(TempTab_1) To UBound(TempTab_1) FinalTabConcat(i, 1) = CStr(TempTab_1(i, 1)) & " - " & CStr(TempTab_2(i, 1)) Next sField = ParamTab(iRow, 1) fField(sField) = FinalTabConcat MsgBox FinalTabConcat(300, 1) 'Retour MsgBox : temptab_1 - temptab_2 => OK End Sub
La msgbox me confirme que mon tableau est bien alimenté avec les valeurs souhaitées. Mais au moment de le restituer dans un excel, impossible ! Alors que j'utilise la même fonction (ci-dessous) que pour mes autres tableaux et que j'ai fait les tests sans utiliser la fonction. Pas de message d'erreur mais les cellules restent vides.
Pouvez-vous m'aider ? Merci beaucoup !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Public Function fField(sField As String) As Range Set rField = sWs.Rows(1).Cells.Find(sField, LookAt:=xlWhole) sWs.Activate rField.Offset(2, 0).Activate Set fField = Range(Selection, Cells(lRow, rField.Column)) End Function
Partager