Problème avec rceherchev

  • Initiateur de la discussion Initiateur de la discussion David
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
518
Réponses
4
Affichages
161
Retour