PROBLEME BOUCLE DEBUTANT

Signaler
Messages postés
8
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
12 avril 2008
-
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
-
Bonjour,

Je m'excuse de vous déranger pour un problème qui vous semblera certainement simple mais que je parviens pas  
à solutionner malgré de nombreuses recherches de ma part.
 
Je vais donc essayer d'être le plus précis possible.
 
J'essai de mettre au point une petite gestion de stocks toute simple
 
Celle ci est composée de deux feuilles :  
 
La feuille 1 est organisée de la facon suivante :  
 
Colonne A : Code produit
Colonne B : Désignation
Colonne C: Famille produit
Colonne Drix d'achat unitaire
Colonne E : Stock dispo 
 Colonne F : le stock valorisé
Cette feuille 1 est la base de données.
 
La feuille 2 qui enregistre tous les mouvements de stocks (entrées / sorties) est organisée de la facon suivante :  
 
Colonne A : Date
Colonne B : Code produit
Colonne C : Désignation
Colonne D  : Famille produit
Colonne E : N° DE BL
Colonne F : Type de mouvement (entrée / sortie)
Colonne G : Qté
 
Cette feuille 2 est alimentée par un Userform qui renseigne  
la date
Le code produit
Le type de mouvement
la quantité
 
J'essaie sans y parvenir qu'à partir du code produit(textbox4 du Userform), la désignation et la famille produit
apparaissent automatiquement dans les colonnes  C et D de la feuille 2.
 
Voici le code que j'ai maladroitement écrit :  
 
For i = 1 To 100
 
 If Sheets("Feuil2" ).Range("B" & i).Value = Sheets("Feuil1" ).Range("A" & i).Value Then
 Sheets("Feuil2" ).Range("C" & i).Value = Sheets("Feuil1" ).Range("B" & i).Value
 End If
 Next i
 
Cela fonctionne mais prend en compte toutes les données de la feuille 1 alors que je ne veux boucler ou selectionner
un seul code produit à la fois ou faire plusieurs mouvements sur le meme produit.

Je bloque et vous remercie tous à l'avance pour votre aide.

Cordialement

cacheux

1 réponse

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Si tu veux arrêter la recherche lorsque l'item est trouvé, mets Exit For
ex:
For i = 1 To 100
 
    If Sheets("Feuil2" ).Range("B" & i).Value = Sheets("Feuil1" ).Range("A" & i).Value Then
        Sheets("Feuil2" ).Range("C" & i).Value = Sheets("Feuil1" ).Range("B" & i).Value
        Sheets("Feuil2" ).Range("D" & i).Value = Sheets("Feuil1" ).Range("C" & i).Value

        Exit For ' si trouvé, rien ne sert de continuer
    End If
 Next i

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI