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