XL 2019 VBA - Déclencher la macro sur toutes les lignes

Pheine

XLDnaute Nouveau
Bonjour à tous,

Je poursuis mon fichier Excel et je bloque de nouveau sur une nouvelle difficulté.

Pour rappel, je suis en train de travailler sur un outil qui permettra de créer une base de données de numéro de série.
J'ai commencé à faire un outil qui me permettait de tester 1 par 1 chaque EAN (Onglet "Console")
> Je teste si l'EAN est en BDD (Onglet "Listing") [Macro1]
> Puis j'incrémente une nouvelle quantité dans ma BDD (Onglet "Listing) > Commence de 1 si l'EAN est nouveau, commence de la dernière quantité connue en BDD si l'EAN existe [Macro Incrementer]

Mais en réfléchissant, je m'aperçois que ça risque d'être très long si j'ai plusieurs EAN à tester
J'ai donc créé un nouvel onglet "Encoding" où je compte remplir les 3 premières colonnes (EAN, quantité, et une info non utiliser dans mes macros)
J'ai donc dupliqué mes macros et fait des boutons sur chaque ligne (LastNumber = Macro1 ; Incrementer2 ; H3+I3 qui est la fusion des 2 premiers boutons) > A terme je ne souhaite conserver que le dernier boutons)

Ma demande est donc la suivante : Comment faire pour ne pas avoir à dupliquer ces boutons sur chaque ligne ?
Précision : Je ne saurai jamais combien de ligne j'aurai (peut être 2 ou 3, peut-être 100)

J'ai cherché à appliquer la macro sur la succession de ligne, mais le problème c'est que je n'arrive pas à mettre à jour les variables (données présentes dans la colonne A et B) du coup j'ai le même résultat partout.
Autre difficulté, je n'arrive pas à stop quand la ligne est vide.

PS : Je passe actuellement par la colonne D "Old" puis la colonne E "Start" car je n'arrive pas à ajouter +1 directement en VBA, la colonne E me sert donc à ajouter via une formule le +1 => Si vous avez une solution pour mettre le bon résultat en 1 seule colonne je suis preneur.

Le document est trop lourd pour mettre en PJ, voici un lien :
 

Ikito

XLDnaute Occasionnel
Bonjour,

Je n'ai pas tout compris, mais d'après ton dernier message, je te mets un exemple ici, en admettant que tu veuilles boucler sur la colonne A jusqu'à ce qu'une cellule en A soit vide.

VB:
i = 1 'Correspond à A1
    Do While Cells(i,1) <> ""
        'Ton traitement
    i = i + 1
    Loop
 

Discussions similaires

Réponses
6
Affichages
257
Réponses
6
Affichages
101

Statistiques des forums

Discussions
311 721
Messages
2 081 928
Membres
101 842
dernier inscrit
seb0390