Fonction Capricieuse

Bonjour et merci d'avance pour votre Aide.

J'ai une Macro qui plante dés lors qu'il n'a pas de résultat à reporter

ci-joint un exemple

Bien cordialement

Daniel

7compcolbug.xlsm (18.08 Ko)

Bonjour

Modifications de ta macro

Sub Liste2_Liste1()
  [f2].Resize(2000).ClearContents
  a = Range("A2:A" & [A65000].End(xlUp).Row)
  Set MonDico1 = CreateObject("Scripting.Dictionary")
  For Each c In a
   MonDico1(c) = ""
  Next c
  b = Range("C2:C" & [C65000].End(xlUp).Row)
  Set mondico2 = CreateObject("Scripting.Dictionary")
  For Each c In b
    If Not MonDico1.exists(c) Then mondico2(c) = ""
  Next c
  If mondico2.Count > 0 Then
    [f2].Resize(mondico2.Count, 1) = Application.Transpose(mondico2.keys)
  End If
End Sub

Merci Banzai !!!! efficace

Si à la place je voudrai du texte type "Rien" comment procédé

Merci pour ton aide et to efficacité

Daniel

Bonjour

A modifier

Sub Liste2_Liste1()
  [f2].Resize(2000).ClearContents
  a = Range("A2:A" & [A65000].End(xlUp).Row)
  Set MonDico1 = CreateObject("Scripting.Dictionary")
  For Each c In a
   MonDico1(c) = ""
  Next c
  b = Range("C2:C" & [C65000].End(xlUp).Row)
  Set mondico2 = CreateObject("Scripting.Dictionary")
  For Each c In b
    If Not MonDico1.exists(c) Then mondico2(c) = ""
  Next c
  If mondico2.Count > 0 Then
    [f2].Resize(mondico2.Count, 1) = Application.Transpose(mondico2.keys)
  Else
    [f2] = "Rien"
  End If
End Sub
Rechercher des sujets similaires à "fonction capricieuse"