1 pièce(s) jointe(s)
Compter, inserer, et copier
Bonjour à tous
J'ai ,dans le cadre d un stage, developpé une macro sur excel 2007, mais étant un débutant en VBA, je sollicite votre aide, ca fait 3 mois que je galère:cry:
J'ai réussi à faire un bout de programme qui marche! mais tres lentement et j'ai une fonction que je n'arrive pas à faire en VBA.
Je mets mon fichier test en piece jointe car c'est assez complexe:
sur la feuil1 j'ai de J2 à J11 des numeros de plan à la suite (ici appelé 1,2,3 etc...)
sur la feuil2 j'ai ces memes numeros de plan dans la colonne D, mais plusieurs fois et dans n'importe quelle ordre. Ils sont rattachés à un indice sur la colonne A.
J essaye de compter combien ce meme numero de la feuil1 colonne J ce retrouve sur la feuil2 colonne D, une fois trouvé combien il y en a
j'insere sur la feuil1 à l'endroit ou j'ai le numero compté autant de ligne que de numero trouve sur le feuil2 et je copie le numero compté. Jusque là ca marche mais d'une lenteur....
Puis je doit y inserer les indices correspondant(present sur la feuil2 en A) en E dans la feuil1, naturellement en face du bon numero!! mais par contre les indices sont toujours du plus petit au plus grand!!! et ca j'ai pas réussi!!!
Le programme que j'ai pondu est tres moche mais je connais pas les subtilités du VBA je sais juste calculer.
Il y a des copies auto en plus qui marche tres bien mais qui ne font pas partie de l'aide que je demande
Je sollicite votre aide, si vous avez le courage de lire mon post et de regarder mon fichier
Merci à vous!!!!
1 pièce(s) jointe(s)
En faite ca marche pas comme je veux
ReBonjour,
Bon je dois pas etre tres bon en explication mais comme vous etes doué, je réessaye de correctement expliquer ou plus en detail:
J'ai fais une erreure en metant des chiffres dans l'ordre dans la feuil1 colonne J, car en faite il n'y a pas d'ordre à respecter que celle ecrite en feuil1 colonne J (ca a pu induire en erreur) on peut considerer que c'est du texte.
La feuil2 est une base de donnée qui evolue mais qui comprend bcp plus de numero de plan environ 50000(colonne D) que dans la feuil2 environ 200, seul les numero de plan de la feuil1, avant la macro, doivent etre present apres la macro mais avec des insertions de lignes et des copies si on en retrouve plusieurs sur la feuil2.
Exemple :
Si j'ai un numero de plan dans la feuil1 il va rechercher dans la feuil2 le nombre de numero correspondant.
Si il en trouve 4 il va inserer 3 lignes en dessous ou dessus du numero cherché en feuil1 et il copie le numero dans les cellules crée vide (pour avoir le meme nombre de numero de plan dans la feuil1 et dans la feuil2), puis il copie la cellule A(l'indice) correspondant au numero de plan de la feuil2 dans la feuil1 sur la même ligne que le plan correspondant(peu importe la colonne de destination)
Si il en trouve autant dans la feuil1 que dans la feuil2 (des numero de plan) il copie simplement l'indice ou les indices correspondants
Si il en trouve moins dans la feuil2 que dans la feuil1 il supprime celui en trop
Je mets les deux fichiers en pieces jointes le fichier XXXxlsm pour visualiser avant la macro et le fichier XXXRESULTAT apres la macro.
Ma macro donne le bon resultat mais c'est trop lent et il ne gere pas la copie des indices (dans ma macro je triche)
Voila encore merci pour l'aide que vous pouvez m'apporter!!
Ludo
TRES BIEN MAIS J AI ENCORE DEUX petits BUGG
C'est pas mal !!! c'est même tres bien,
J'ai quand même 2 petits souci, si j'ai deux fois (et ca peu arriver) le même numero de plan en feuil1 apres une premiere actualisation il met deux fois les resultats
J'ai trouvé une parade un rajoutant la suppression des doublons en VBA
Mais le probleme de ce fichier c'est qu'il se réactualise régulièrement en fonction des nouveaux numero de plans rajouté entre temps et il me met un message d'erreur quand je le relance et il efface les données
ca marche une fois mais pas deux
Si tu vois une solution?
Merci à vous
Désolé de vous solicité autant que ca
Ludo