[VBA] Valeur exacte dans fonction CountIf

Wana

XLDnaute Nouveau
Bonjour à tous,

Contexte :
Je veux savoir combien de fois, dans mon fichier 2, apparait exactement la valeur contenue dans la cellule de mon fichier 1. Et inscrire ce nombre dans mon fichier 1.

Problème :
Si ma valeur dans fichier 1 est "A400569-9" et que dans mon fichier 2 il y a une cellule ayant pour valeur "A400569-9BC", il me la compte également.

Voici le bout de mon code qui pose problème :

a = Fichier1.Sheets("Comparatif").Cells(Cells.Rows.Count, "A").End(xlUp).Row
d = Fichier2.Sheets(1).Cells(Cells.Rows.Count, "B").End(xlUp).Row

For Each c In Fichier1.Sheets("Comparatif").Range("A2:A" & a)
c.Offset(0, 2) = Application.CountIf(Fichier2.Sheets(1).Range("B3:B" & d), c)
Next c

Par avance, merci de votre aide.
 

vgendron

XLDnaute Barbatruc
Re : [VBA] Valeur exacte dans fonction CountIf

Hello

étrange.... il faudrait ton fichier en exemple pour qu'on puisse avoir une chance de comprendre ton pb
peut etre le contenu de ta variable d ?
regarde la pj.. peut etre es tu dans un de ces cas ?
 

Pièces jointes

  • nbsi.xlsx
    8.8 KB · Affichages: 48
  • nbsi.xlsx
    8.8 KB · Affichages: 66
  • nbsi.xlsx
    8.8 KB · Affichages: 58

Wana

XLDnaute Nouveau
Re : [VBA] Valeur exacte dans fonction CountIf

Merci pour ta réponse rapide vgendron !

En effet, c'est étrange : cela fonctionne très bien en fonction Excel, mais en vba, impossible.
Je ne peux pas attacher mon fichier, la macro va lire dans 3 fichiers différents et inscrit les résultats dans mon "fichier 1".

Est-ce qu'il n'y a pas quelque chose à faire avec un Find (..., LooktAt:=xlWhole) ?
Ou en ajoutant des * ou autres dans ma fonction ?

Je suis un peu mêlée

Merci encore pour votre aide !
 

Wana

XLDnaute Nouveau
Re : [VBA] Valeur exacte dans fonction CountIf

Si ça peut en aider d'autres :

Ca semble que j'ai trouvé une solution qui fonctionne en mettant c.Value dans la fonction CountIf.
Je n'ai pas l'explication, mais bon, tant mieux ! :)