Microsoft 365 InStr, c'est bien, mais trop court ! !

DenisHen

XLDnaute Nouveau
Bonjour à la communauté...
Voilà, j'ai un tableau avec des string construit comme :
VB:
Tableau(1)="4/12/4"
Tableau(....)="..."
Tableau(6)="4/18/4"
Tableau(....)="..."
Tableau(33)="44.2/16/44.2"
Tableau(44)="44.2/16/4"
Je cherche donc avec un Do While dans mon tableau, du début à la fin, jusq'à trouvé un InStr <> 0, puis je sors.
Mon problème est que si je cherche "44.2/16/4", InStr le trouve en premier dans "44.2/16/44.2" : Tableau(33), alors que j'aimerais le trouver dans Tableau(44).
Ce qui est normal, mais j'aimerais trouver l'exacte chaine, de la bonne longueur. D'où mon sujet, c'est trop court, ou trop long ! !
J'avais pensé à un Mid, mais je n'y arrive pas...
Il faut savoir aussi que la chaine recherchée sera TOUJOURS de la bonne longueur, et je dois trouver l'exacte réplique, bref, les deux chaines doivent être de la même taille...
Et oui, je parle bien ici de double vitrage... ;)
Si quelqu'un a une astuce, un conseil, voir même la solution... Je suis preneur...
Bien à toi la communauté.
Denis...
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Mais malhereusement, je tiens à ce que l'opérateur, le collègue, débutant ou pas, ne doit pas être restreint à trop de règles de saisie. Il tape le vitrage "tel qu'il le sent", et la fonction fera le reste...
C'est ce que fait ma dernière proposition où ledit collègue doit tout de même saisir quelque chose qui ressemble au vrai vitrage.

Il peut saisir 44,2 ou 44.2
Il peut ajouter autant d'espaces qu'il veut puisqu'elle sont supprimées avant la recherche.
Il doit séparer les épaisseurs par un /.
Exemples :
Code:
- 44.2/ 1 6   /  44,2
- 44,2 /16/4  4.2
- 4 4 . 2 / 16 /  4    4 .2
- etc.

Et si aucun vitrage n'est trouvé, la fonction retourne une chaîne de caractères vide, comme ça tu peux gérer le cas dans ta formule.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
313 091
Messages
2 095 191
Membres
106 215
dernier inscrit
rocksy