Bonjour je viens vers vous car confronté à une difficulté en VBA dont je ne connais pas la syntaxe et je dois pourtant très vite réaliser cette macro.
Je vous décris rapidement ce que je veux faire puis tente une description par "pseudocode" :
J'ai une feuille qui opère un matching d'un type de règles A vers un type B .
Je veux remplir une autre feuille qui effectue le matching dans l'autre sens.
Je parcours alors une colonne de ma nouvelle feuille règle par règle en cherchant dans la feuille 1 sa correspondance, si je la trouve je copie un ensemble de données . le problème n'est pas bijectif donc je continue jusqu'à avoir trouvé un nombre donné de correspondances.
Enfin je prends le code suivant et effectue le même travail .
En termes un petit peu plus précis :
Je possède deux feuilles de travail .
Je crée une variable NOMBRE = 1 ;
Une feuille 1 dont la colonne F m'intéresse : première itération de ma boucle
- Je considère la valeur de la cellule F3
- Je passe en feuille 2 et je parcours la colonne H depuis la ligne 3 jusqu'à disons 500 avec une boucle while pour chercher cette valeur
- Si je la trouve à la ligne disons alpha, je copie l'ensemble des deux cellules Balpha-Calpha
- Je reviens en feuille 1 et colle ces données dans L3-M3
- Je reviens dans ma feuille 2 et continue à parcourir ma colonne H .
Si je trouve de nouveau un match à la ligne beta j'incrémente NOMBRE je copie les données Bbeta-Cbeta je change de feuille crée une ligne et copie les données Bbeta-Cbeta dans L4-M4 de ma feuille 1 .
Finalement NOMBRE sera égal au nombre de match que l'on aura trouvé pour une valeur donnée dans parcourant la colonne H .
Quand la boucle while se termine le travail et à recommencer en selectionnant la cellule F(3+NOMBRE) sans oublier de réaffecter NOMBRE = 1; et considérant L(3+NOMBRE)-M(3+NOMBRE) comme endroit ou coller les données .
On arrête le programme lorsque F () est vide .
Je remercie ceux qui prendront le temps de me lire et de m'aider,
Cordialement,
Thibault.
Je vous décris rapidement ce que je veux faire puis tente une description par "pseudocode" :
J'ai une feuille qui opère un matching d'un type de règles A vers un type B .
Je veux remplir une autre feuille qui effectue le matching dans l'autre sens.
Je parcours alors une colonne de ma nouvelle feuille règle par règle en cherchant dans la feuille 1 sa correspondance, si je la trouve je copie un ensemble de données . le problème n'est pas bijectif donc je continue jusqu'à avoir trouvé un nombre donné de correspondances.
Enfin je prends le code suivant et effectue le même travail .
En termes un petit peu plus précis :
Je possède deux feuilles de travail .
Je crée une variable NOMBRE = 1 ;
Une feuille 1 dont la colonne F m'intéresse : première itération de ma boucle
- Je considère la valeur de la cellule F3
- Je passe en feuille 2 et je parcours la colonne H depuis la ligne 3 jusqu'à disons 500 avec une boucle while pour chercher cette valeur
- Si je la trouve à la ligne disons alpha, je copie l'ensemble des deux cellules Balpha-Calpha
- Je reviens en feuille 1 et colle ces données dans L3-M3
- Je reviens dans ma feuille 2 et continue à parcourir ma colonne H .
Si je trouve de nouveau un match à la ligne beta j'incrémente NOMBRE je copie les données Bbeta-Cbeta je change de feuille crée une ligne et copie les données Bbeta-Cbeta dans L4-M4 de ma feuille 1 .
Finalement NOMBRE sera égal au nombre de match que l'on aura trouvé pour une valeur donnée dans parcourant la colonne H .
Quand la boucle while se termine le travail et à recommencer en selectionnant la cellule F(3+NOMBRE) sans oublier de réaffecter NOMBRE = 1; et considérant L(3+NOMBRE)-M(3+NOMBRE) comme endroit ou coller les données .
On arrête le programme lorsque F () est vide .
Je remercie ceux qui prendront le temps de me lire et de m'aider,
Cordialement,
Thibault.