méthode Find & 255 caractères

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

doktor_dave

XLDnaute Nouveau
Bonjour à tous,

j'ai un petit problème 🙂. J'utilise le bout de macro suivant pour comparer deux listes et faire d'autres petites choses quand un match parfait est trouvé.

For i = 1 To nblignes
lookupstr = Cells(i, 1).Value
If WorksheetFunction.CountIf(Range("B:B"), lookupstr) > 0 Then
With Range("B:B")
Cells(i, 4).Value = .Find(what:=lookupstr, MatchCase:=True).Offset(0, 1)
Cells(i, 4).Interior.ColorIndex = 8
End With
End If

Next

Le problème est le suivant: les cellules que je teste contiennent pas mal de texte, et donc souvent beaucoup plus de 255 caractères... Inutile de dire que tout va bien avec cette macro, jusqu'à ce qu'elle rencontre une cellule de plus de 255 caractères.

Quelqu'un a une idée pour contourner le problème ? (et non, je ne peux pas me limiter à une comparaison sur les 255 premiers caractères, ce serait trop facile 🙂...)

voila voila, merci d'avance,

Doktor Dave

Ps: j'ai remarqué que la limite mortelle des 255 caractères pose autant problème avec le Countif qu'avec le Find... Je pourrais éventuellement tronquer la vérif du Countif à 255, mais pas le Find, donc le problème n'est qu'à moitié résolu
 
Re : méthode Find & 255 caractères

ok, exemple 🙂 :

Liste2 est une liste de termes anglais, avec la traduction française correspondante en Liste2bis.
Liste1 est une nouvelle liste de termes anglais. Je veux mettre, sur chaque ligne de Liste1 (dans la colonne Liste1bis) la traduction récupérée depuis Liste2/Liste2bis. Ainsi, une fois la macro terminée, y'a plus qy'à supprimer les colonnes de Liste2/Liste2bis et voilà, j'ai ma liste de terme traduits, avec des cellules vides là où il n'y avait pas de trad disponible.

Liste1 Liste2 Liste2bis Liste1bis
aaaaaa aaaaaa tradaaa tradaaa
gggggg bbbbbb tradbbb
cccccc cccccc tradccc tradccc
dddddd eeeeee tradeee
eeeeee_______________tradeee


J'essaie d'optimiser des processus assez anciens, à base de double boucles, qui marchent, mais prennent trop longtemps... D'où l'utilisation de la méthode Find

Le code que j'ai posté marche très bien, tant que les cellules ne dépassent pas 255 caractères. Or, c'est très souvent le cas...

[pour info, un fichier typique à comparer/fusionner fait environ 28Mo et contient 180 000 mots dans 17 000 cellules]

J'espère que c'est plus clair... 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
536
Réponses
4
Affichages
212
Réponses
0
Affichages
471
Réponses
2
Affichages
471
Retour