Condition respecté mais le programme ne rentre pas dedans

Bonjour,

J'ai un programme simple à faire :

J'ai 1 classeur synthèse où je fais la synthèse

J'ai 2 classeurs excel (Balance1 et Balance2) dont seulement 2 choses m'intéressent ;

- le numéro de compte de la 1ère colonne,

- et le solde à la 5ème colonne

chaque compte est englobé par un compte plus global, par exemple : les compte 60120000 et 60513000 appartiennent au compte 60

Je prends donc uniquement les 2 premiers chiffres pour voir quand ils sont similaires dans les deux classeurs,puis je mets dans "somme" le solde correspondant à ce compte pour ensuite mettre la somme de tout ces comptes dans synthèse, au compte correspondant.

La condition qui me pose problème est la suivante :

If fSynthese.Cells(j, 2) = Left(actuel.Cells(k, 1), 2) Then

J'ai regarder ce que renvoyaient 'fSynthese.Cells(j, 2)' et ' Left(actuel.Cells(k, 1), 2) Then' individuellement a chaque tour de boucle, et même lorsqu'ils étaient identique, la condition restait invalidée..

Sauriez-vous ce que je pourrais faire ?

Je vous joins les classeurs :

Bonjour,

Le souci c'est que 70 et "70" ne sont pas la même chose, l'un est un nombre, l'autre du texte (soit un tableau contenant des caractères représentés par des nombres), les données ne sont donc pas les mêmes.

Il faut donc soit convertir 70 en "70", soit convertir "70" en 70, j'ai plutôt choisi de convertir la valeur en texte avec Cstr() qui est passe partout:

If CStr(fSynthese.Cells(j, 2)) = Left(actuel.Cells(k, 1), 2) Then
Rechercher des sujets similaires à "condition respecte programme rentre pas dedans"