Incrementer ou ajouter si pas encore dans la liste

  • Initiateur de la discussion Initiateur de la discussion Toutou
  • 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 !

Toutou

XLDnaute Occasionnel
Bonjour a toutes et tous,

je pensais m'en sortir seul mais finalement la bete est plus forte que moi...
Et je commence ainsi la semaine avec un petit probleme et je souhaiterais savoir si vous pouviez me donner un coup de pouce.

Pour la gestion d'un stock, j'ai 3 feuilles dans un meme fichier excel 2007:
1_ bilan des commandes et receptions,
2_ bilan des entrees et sorties
3_ etat du stock

Je souhaite simplifier la gestion du fichier avec l'utilisation de userforms.

Des que je passe une commande, je la rentre a l'aide d'un usf (pas de soucis).
Quand je recois la commande, un 2nd USF permet de completer les donnees deja entrees grace au 1er USF dans la feuille "bilan commandes et receptions" (toujours pas de souci); mais j'aimerais ensuite mettre a jour l'etat du stock... et c'est la qu'est l'os !

En theorie, si la piece existe deja dans la liste de la feuille "etat du stock", j'incremente sa quantite, sinon j'ajoute la piece dans la liste.

Ce que j'arrive a faire pour l'instant c'est, a l'aide d'une boucle For/Next, retrouver le code article dans ma fiche "etat de stock" et incrementer la quantite de la piece existante.

dim TestCell as range

For Each TestCell In Worksheets("Etat du stock").Range("A3:A" & Range("A65536").End(xlUp).Row + 1)
If TestCell = TxtNumCmde Then
TestCell.Offset(0, 9) = TestCell.Offset(0, 9) + TxtNumCmde
Exit For
End If
Next

Naturellement, ce code permet de trouver si une piece existe deja et d'incrementer sa quantite, mais pas de savoir si la piece n'existe pas encore.

En effet, dans ma boucle je ne sais pas ou ni comment coder la partie "ajout de piece", si la piece est nouvelle.

Quelqu'un(e) a-t-il/elle une idee ?

Bonne journee

Toutou.
 
Re : Incrementer ou ajouter si pas encore dans la liste

Bonjour Toutou

perso, j'utiliserais peut être la méthode "find" dans ce cas... voir exemple ci-dessous :

Code:
Sub test()
Dim x As Range
With Worksheets("Etat du stock")
    Set x = .Range("A3:A" & .Range("A65536").End(xlUp).Row).Find(TxtNumCmde, , xlValues, xlWhole, , , False)
    If Not x Is Nothing Then
        x.Offset(0, 9) = x.Offset(0, 9) + TxtNumCmde
    Else
        MsgBox "non trouvé..."
        .Range("A65536").End(xlUp)(2).Value = TxtNumCmde
    End If
End With
End Sub

bonne journée
@+
 
Re : Incrementer ou ajouter si pas encore dans la liste

Salut Pierrot93,

merci beaucoup.
Cependant dans mon cas reel, un article est defini par son code qui est compose de plusieurs parties, stockees sur plusieurs cellules adjacentes (4):

Colonne 1: Famille
Colonne 2: Groupe
Colonne 3: Type
Colonne 4: Code

La methode Find permet-elle de faire une recherche multi criteres ? Si oui comment ?

Bonne journee et merci encore.

Toutou
 
- 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

Discussions similaires

Retour