Titre du sujet : erreur 1004 par bakman le 26/02/2010 15:05:39
Bonjour,
Lorsque j'essaie d'appliquer la mise en forme par recopie d'une formule en colonne C de la feuille Jean-BaptisteGaillard, j'ai une exception erreur 1004. Le script bloque à la première instruction suivante (en jaune) :
'Traitement de la plage Cible
If Not Tplage Is Nothing Then
With ActiveWorkbook.Styles("Normal")
.IncludeNumber = False
Je ne comprends pas pourquoi et suis incapable de corriger. La seule modification apportée par rapport à la version qui jusqu'ici fonctionnait bien, est l'introduction d'un module avec les deux procédures suivantes (mises au point par Boisgontier Jacques).
Function SansDoublonsTrié(champ As Range)
Set mondico = CreateObject("Scripting.Dictionary")
temp = champ
For i = LBound(temp, 1) To UBound(temp, 1)
For j = LBound(temp, 2) To UBound(temp, 2)
If Not mondico.Exists(temp(i, j)) And temp(i, j) <> "" Then mondico.Add temp(i, j), temp(i, j)
Next j
Next i
Dim b()
ReDim b(1 To champ.Count)
i = 1
For Each C In mondico.items
b(i) = C
i = i + 1
Next
Call tri(b, 1, mondico.Count)
SansDoublonsTrié = Application.Transpose(b)
End Function
Sub tri(a, gauc, droi) ' Quick sort
ref = a((gauc + droi) \ 2)
g = gauc: d = droi
Do
Do While a(g) < ref: g = g + 1: Loop
Do While ref < a(d): d = d - 1: Loop
If g <= d Then
temp = a(g): a(g) = a(d): a(d) = temp
g = g + 1: d = d - 1
End If
Loop While g <= d
If g < droi Then Call tri(a, g, droi)
If gauc < d Then Call tri(a, gauc, d)
End Sub
Pourriez-vous m'aider ?
Cordialement.
Pierre
|