erreur " incompatibilité de type" Xl 2003 et 2007
#1
Débutant XLPages

Inscription: 03/01/2015

Messages: 4

Système d'exploitation:
pc
Version Excel utilisée:
2007
Posté le : 03-01-2015 17h18

Bonjour,

 

j'ai ce petit soucis en comparant la colonne A à la colonne D, j'ai l'erreur indiquée dans le titre...

L'erreur est à la ligne 

    [g2].Resize(mondico2.Count, 1) = Application.Transpose(mondico2.items)

Que faire s'il vous plait ?

Merci

 

Sub CommunsCellEntreAetD()
    ' articles en commun dans les 2 listes
    ' affichage des communs dans la colonne D
    Dim Premier
    Dim Second
    [I1].Value = "Communs " '
    '& nbval("d2:d6000")
    
    [a:e].ClearComments
    [a:e].Interior.ColorIndex = xlNone
    Premier = Range("a2:a" & [a65000].End(xlUp).Row)
    Set mondico1 = CreateObject("Scripting.Dictionary")
    For Each C In Premier
        If Not mondico1.exists(C) Then mondico1.Add C, C
    Next C
    Second = Range("d2:d" & [d65000].End(xlUp).Row)
    Set mondico2 = CreateObject("Scripting.Dictionary")
    For Each C In Second
        If mondico1.exists(C) Then If Not mondico2.exists(C) Then mondico2.Add C, C
    Next C
    [g2].Resize(mondico2.Count, 1) = Application.Transpose(mondico2.items)
    'Call DoublonsSimple ' mise en couleur sur base du même code
End Sub

Hors Ligne
Rapport   Haut 

Re: erreur " incompatibilité de type" Xl 2003 et 2007
#2
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 03-01-2015 18h54

Bonjour gosselien,

 

J'ai fait rouler ton code mais je n'arrive pas à reproduire l'erreur citée. Pourrais-tu fournir un classeur avec des données qui causent cette erreur?

 

Cordialement,

 

Guy


Hors Ligne
Rapport   Haut 

Re: erreur " incompatibilité de type" Xl 2003 et 2007
#3
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 04-01-2015 17h13

Bonjour Patrick,

 

J'ai oublié de te souhaiter la bienvenue dans ce forum, voilà qui est fait.

J'ai monté un classeur avec des chaînes de quatre caractères aléatoires sur 30 000 lignes en colonnes A et D.


J'ai fait rouler ton code à plusieurs reprise et l'erreur s'est produite.

Comme un recalcul de la feuille se produit à chaque passe il  arrive que mondico2 soit vide, aucune correspondance entre les colonnes A et D. L'intersection des valeurs portées par ces colonne est vide : mondico2.count = 0

 

La boucle

    For Each C In Second
      If mondico1.exists(C) Then If Not mondico2.exists(C) Then mondico2.Add C, C
    Next C

ne charge aucune valeur dans mondico2.

 

L'incompatibilité de type provient de

 [g2].Resize(mondico2.Count, 1) devient [g2].Resize(0, 1)

et

 Application.Transpose(mondico2.items) devient Application.Transpose(Nothing, Rien, Néant)

Avec le classeur sur lequel tu travailles, se pourrait-il que la vacuité du dico2 soit à l'origine de l'erreur?

 

Cordialement,

 

Guy


Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes