VBA -Fonction rechercher et insertion

Bonjour, je développe depuis quelques temps un outil pour me simplifier la vie au boulot, cependant, une fonction me résiste depuis quelque jours, impossible de solutionner le problème.

Mon classeur est constitué de deux onglets, le premier nommé "DPGF" me permet de codifier un fichier que m’envoie un client, afin de repérer les lignes que je dois renseigner.

Une fois la codification effectuer je lance via un bouton ma macro de TRI, qui duplique l'onglet DPGF, le renomme en "-", et nettoie le contenu obsolète. Jusque la tout vas bien.

Ensuite je désire effectuer une fonction de recherche de la lettre "P" dans la colonne A, qui quant la valeur est trouvé, insère le tableau contenu dans l'onglet "Squelette", juste en dessous de la valeur trouvé et ce bien sur en boucle jusqu’à la fin du fichier.

Mon code et pour l'instant beugé, le tri s'effectue correctement, mais à la fonction de recherche, je n'arrive pas à m'en dépatouiller. Pouvez vous si possible me réorienter sur la bonne voie.

Je vous joint le fichier en Pièce jointe.

Merci par avance.

Bonjour et bienvenue sur le forum

Un essai. Te convient-il ?

Bonjour gmb, c'est tout a fait ce que je cherché à effectuer, je vous remercie grandement !. Puis-je tout de même vous poser quelques questions sur le morceau de script que vous m'avez fournis, afin que je comprenne parfaitement la démarche ?.

Dans le code

For Ln = Derln To 4 Step -1

pouvez vous m'expliquer à quoi correspond le To 4 Step -1.

Vous remerciant encore une fois.

Bonjour

Bonjour

Tu écris :

pouvez vous m'expliquer à quoi correspond le To 4 Step -1.

Je veux passer en revue toutes les lignes de la feuille, de la ligne 4 à la dernière ligne (Derln)

Si l’une d’entre elles contient la mention « P » , je dois inserer un tableau au dessous, donc la ligne suivante, ln +1, sera une ligne de ce tableau, et non pas la ligne suivante de la feuille telle qu’elle était avant l’insertion.

Pour déjouer cette difficulté, on commence par la fin. C’est-à-dire qu’on va examiner toutes les lignes en commençant par la dernière et en remontant jusqu’à la ligne 4.

C’est ce que permet l’instruction :

For ln = Derln (en français : de la ligne Ln égale à DerLn)

to 4 (à la ligne 4)

step -1 (avec un pas de moins 1 ; c’est-à-dire qu’à chaque tour de boucle, on retranchera 1 à la valeur de Ln)

OK ?

Bye !

Ok je comprend, le fait de partir du bas de la page est effectivement beaucoup plus logique.

Je vous remercie grandement pour votre aide.

Bien cordialement.

Rechercher des sujets similaires à "vba fonction rechercher insertion"