Problème de boucle en VBA

Bonjour à tous,

Dans le fichier j'ai 2 feuilles (Tri et Réf Prod)

La feuille "Réf Prod" me permet de mettre les codes d'identification de produits.

Tous les produits commençant par ces codes pourront être regroupés

La feuille tri a des exemples de codes ou je souhaite trouver le produit.

J'ai trouvé une solution en faisant une petite macro mais ce n'est valable que pour un code.

Dans le fichier d'exemple je n'ai mis que 36 cases de codes d'identifications mais en réalité il y a beaucoup plus.

Quelqu'un saurait il comment faire une boucle pour passer ces 36 cellules si elles ne sont pas vides ?

Salut Fred,

Dans le fichier ci-joint je te propose un code qui devrait répondre à ta demande. Dans la cellule C6 de la feuille ‘Réf Prod’, tu n’as que deux caractères afin d’identifier le produit ; c’est une erreur ou ça peut vraiment être possible ? Si c’est une erreur, il faudra modifier mon code en conséquence.

Cordialement.


En revoyant la solution proposée, je me rends compte que tu peux non seulement avoir des références avec seulement deux caractères, mais également avec 4 (en D5).

Je te propose alors le nouveau code placé dans le fichier ci-joint qui fonctionne quel que soit le nombre de caractères de tes références.

Amicalement.

Merci de ton aide Yvouille, je viens de regarder ta macro et c'est claire que je ne serait pas aller chercher aussi loin.

Effectivement, les codes peuvent varier de 2 à 8 caractères, mais je ne sais pas comment ils sont générés...

Je vais testé sur le fichier original et te tiens au courant

Ca fonctionne Yvouille, merci

En mettant en calcul manuel :

je viens de tester sur 50 produits et 90 références sur 1200 possible, il faut compter 15 minutes.

Je sais pas si on peut faire plus rapide ou pas, mais la fonction est réalisée.

Salut,

Fred35 a écrit :

En mettant en calcul manuel :

Je ne sais pas ce que tu veux dire par là, ni ce que ça pourrait bien changer. J’ai placé l’instruction Application.ScreenUpdating = False dans mon code et ça devrait suffire.

Fred35 a écrit :

je viens de tester sur 50 produits et 90 références sur 1200 possible, il faut compter 15 minutes.

Ca me parait extrêmement long. Tu peux me fournir ton fichier réel afin que je fasse moi-même des essais sur cette base ? Je t’indique en privé une adresse électronique si jamais tu ne peux pas fournir ton fichier sur le Forum.

Amicalement.

j'ai mis

Application.Calculation = xlCalculationManual

afin d'éviter les calculs d'autres feuilles durant l'exécution de la macro.

Pour le fichier je vais le modifier, il contient des données sensibles qu'effectivement je ne peux transmettre.

Erreur de frappe, ce n'est pas 50 produits mais 5000... ce qui explique la lenteur.

Fred35 a écrit :

Erreur de frappe, ce n'est pas 50 produits mais 5000... ce qui explique la lenteur

Alors il faut mettre un s à 'erreur', puisqu'il y en a deux

Sans voir ton fichier, difficile de t'aider plus. En recevant ton fichier en privé - comme j'en ai déjà reçu des dizaines - je ne l'aurais sûrement pas mésusé

A toi de décider.

Rechercher des sujets similaires à "probleme boucle vba"