InfoGeo
Messages postés87Date d'inscriptionjeudi 2 février 2012StatutMembreDernière intervention17 avril 2013
-
6 août 2012 à 15:36
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
6 août 2012 à 16:18
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:
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:
For i = 2 To nblignes
Cells(i, colcomp1) = "=compar(RC[-1],R[-1]C[-1])"
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
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 6 août 2012 à 16:18
Bonjour,
Déjà :
Tu ne veux à la fois attribuer une formule et une valeur à une cellule ! C'est soit l'un, soit l'autre !
Evite par ailleurs cette manière d'attribuer une formule. Utilise la propriété Formula
On ne voit enfin pas, dans ton bout de code, ce que valent les variables colcomp1 et colcomp2 ! les réactions que tu dénonces donnet toutefois à penser que leurs valeurs entraîne des références circulaires !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ