Problème avec rceherchev

D

David

Guest
Bonjour ou plutôt bonsoir à tous!

J'ai un problème plutôt singulier. En effet, j'ai fais une boucle qui me permette de répéter une fonction recherchev et ainsi de récupérer toutes les lignes (informations concernant des ventes) d'un tableau correspondant à un numéro de commande.
Le problème, c'est que lorsque j'exécute le script, il me renvoie toutes les lignes du tableau et change les valeurs contenues dans la première colonne de mon tableau (c'est à dire l'ensemble des numéros de commande) selon le nombre à rechercher . J'ai trier mon tableau et fait tout un tas de tests. Je dois dire que je ne sais plus trop quoi faire. N'étant qu'un débutant en vba et en programmation, peut être n'ai je pas choisi le bon type de boucle ou fais une grosse bourde qui m'échappe. Je joins ci-après mon script. Merci de votre aide. bon j'y retourne. Bonne soirée

Sub achat()
Dim numcomm As Variant
Dim coord As Variant
Dim mvt As Long
Dim ligne As Variant

coord = "COUNTA (importbd!R" + CStr(ligne) + "C1:R30C9)" [//je récupère le nombre de ligne qui consitue la liste de données]
numcomm = InputBox("Entrez le numéro de commande du client")
Range("E4").Select
ActiveCell.FormulaLocal = numcomm

mvt = 22
ligne = 1
Range("A150").Select
ActiveCell.FormulaR1C1 = "=CountA(importbd!R" + CStr(ligne) + "C1:R30C1)"
coord = Range("A150").Value


While coord > 0
nbcell = Range("A" & mvt).Select
ActiveCell.FormulaR1C1 = "=IF(ISERROR(VLOOKUP(" + numcomm + ",importbd!R" + CStr(ligne) + "C1:R" + CStr(coord) + "C9,7)),0,VLOOKUP(" + numcomm + ",importbd!R" + CStr(ligne) + "C1:R" + CStr(coord) + "C9,1))"
Range("D" & mvt).Select
ActiveCell.FormulaR1C1 = "=IF(ISERROR(VLOOKUP(" + numcomm + ",importbd!R" + CStr(ligne) + "C1:R" + CStr(coord) + "C9,8)),0,VLOOKUP(" + numcomm + ",importbd!R" + CStr(ligne) + "C1:R" + CStr(coord) + "C9,8))"
Range("E" & mvt).Select
ActiveCell.FormulaR1C1 = "=IF(ISERROR(VLOOKUP(" + numcomm + ",importbd!R" + CStr(ligne) + "C1:R" + CStr(coord) + "C9,9)),0,VLOOKUP(" + numcomm + ",importbd!R" + CStr(ligne) + "C1:R" + CStr(coord) + "C9,9))"
mvt = mvt + 1
coord = coord - 1

Wend
End Sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87