Salut !
J'avais un probleme avec mes tableaux croisés dynamiques pour sélectionner une plage alors du coup j ai transformé les plages en tableau et j'ai nommé ces tableaux.
ensuite dans la source de données du tableau dynamique, j'ai donc mis ce nom de tableau et ca marche niquel.
CEPENDANT
avant j’avais une fonction qui marchait bien et maintenant c plus le cas j ai fait le test avec la plage sous la forme d un tableau et sous forme "normale", sous forme normale la fonction marche mais quand la plage est sous forme d'un tableau non.
Cette fonction est une fonction volatile
ici:
elle est appelé comme ca:
Et en fait quand elle arrive à "End function" et bien au lieu de quitter la fonction et bien elle recommence ...... elle repart de "Public Function compar"
je ne vois pas pourquoi ..... en fait je ne sais pas exactement quels changement sont effectués quand on passe en mode tableau ....
Donc si vous auriez une idée et bah je suis preneur
Voila j espere que vous répondrez ^^
a+
J'avais un probleme avec mes tableaux croisés dynamiques pour sélectionner une plage alors du coup j ai transformé les plages en tableau et j'ai nommé ces tableaux.
ensuite dans la source de données du tableau dynamique, j'ai donc mis ce nom de tableau et ca marche niquel.
CEPENDANT
avant j’avais une fonction qui marchait bien et maintenant c plus le cas j ai fait le test avec la plage sous la forme d un tableau et sous forme "normale", sous forme normale la fonction marche mais quand la plage est sous forme d'un tableau non.
Cette fonction est une fonction volatile
ici:
Code:
Public Function compar(m1 As String, m2 As String, Optional k As Integer = 0) As Double
Dim i As Integer
Dim j As Integer
Dim r As Integer
Application.Volatile
j = Len(m1): r = 0
If Len(m2) > j Then j = Len(m2)
For i = 1 To j
If k = 1 Then
If Mid(m1, i, 1) = Mid(m2, i, 1) Then r = r + 1
Else
If LCase(Mid(m1, i, 1)) = LCase(Mid(m2, i, 1)) Then r = r + 1
End If
Next i
compar = r / j
End Function
elle est appelé comme ca:
Code:
For i = 2 To nblignes
Cells(i, colcomp1) = "=compar(RC[-1],R[-1]C[-1])"
'Calculate
Cells(i, colcomp1).Value = Cells(i, colcomp1).Value
If Cells(i, colcomp2 - 1) <> "" And Cells(i - 1, colcomp2 - 1) <> "" Then
Cells(i, colcomp2) = "=compar(RC[-1],R[-1]C[-1])"
Cells(i, colcomp2).Value = Cells(i, colcomp2).Value
End If
Next i
Et en fait quand elle arrive à "End function" et bien au lieu de quitter la fonction et bien elle recommence ...... elle repart de "Public Function compar"
je ne vois pas pourquoi ..... en fait je ne sais pas exactement quels changement sont effectués quand on passe en mode tableau ....
Donc si vous auriez une idée et bah je suis preneur
Voila j espere que vous répondrez ^^
a+