Microsoft 365 Msgbox Reference non trouvée dans liste

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

eric72

XLDnaute Accro
Bonjour à tous,
Je rencontre un petit souci avec une macro, en effet, à partir de la feuille "Saisie Inventaire" tableau "TbInventaire", je reporte les quantités dans la feuille "Inventaire" tableau "TbAllProduit".
Jusque là tout va bien, j'aimerais que lors du lancement de la macro, si une ou des références de TbInventaire n'existe pas dans TbAllProduit, une Msgbox à la fin de la macro m'indique les références et les quantités du ou des produits non trouvés.
J'ai bien essayé avec find mais je pense que je dois mal le placer dans la boucle et du coup cela ne fonctionne pas.
Je m'en remets donc une nouvelle fois à votre savoir.
Merci beaucoup pour votre aide.
Eric
 

Pièces jointes

Solution
Bonjour Eric,
J'ai rajouté :
VB:
' Recherche les présents dans Saisie inventaire qui sont absent dans Inventaire
For j = 2 To UBound(TC1, 1)
    Trouvé = False
    For I = 2 To UBound(TC2, 1)
        If TC1(j, 1) = TC2(I, 5) Then Trouvé = True: Exit For
    Next I
    If Trouvé = False Then Chaine = Chaine & TC1(j, 1) & Chr(10)
Next j
Application.ScreenUpdating = True 'affiche les rafraîchissements d'écran
MsgBox Chaine
Il doit être possible d'optimiser en utilisant vos boucles déjà présentes, mais j'ai préféré ne pas toucher à votre code.
Bonjour Eric,
J'ai rajouté :
VB:
' Recherche les présents dans Saisie inventaire qui sont absent dans Inventaire
For j = 2 To UBound(TC1, 1)
    Trouvé = False
    For I = 2 To UBound(TC2, 1)
        If TC1(j, 1) = TC2(I, 5) Then Trouvé = True: Exit For
    Next I
    If Trouvé = False Then Chaine = Chaine & TC1(j, 1) & Chr(10)
Next j
Application.ScreenUpdating = True 'affiche les rafraîchissements d'écran
MsgBox Chaine
Il doit être possible d'optimiser en utilisant vos boucles déjà présentes, mais j'ai préféré ne pas toucher à votre code.
 

Pièces jointes

Bonjour Eric,
J'ai rajouté :
VB:
' Recherche les présents dans Saisie inventaire qui sont absent dans Inventaire
For j = 2 To UBound(TC1, 1)
    Trouvé = False
    For I = 2 To UBound(TC2, 1)
        If TC1(j, 1) = TC2(I, 5) Then Trouvé = True: Exit For
    Next I
    If Trouvé = False Then Chaine = Chaine & TC1(j, 1) & Chr(10)
Next j
Application.ScreenUpdating = True 'affiche les rafraîchissements d'écran
MsgBox Chaine
Il doit être possible d'optimiser en utilisant vos boucles déjà présentes, mais j'ai préféré ne pas toucher à votre code
Bonjour sylvanu,
Merci pour votre réponse, simple rapide et efficace, comme d'habitude!!!
Merci encore et bonne journée.
 
Bonjour Eric,
J'ai rajouté :
VB:
' Recherche les présents dans Saisie inventaire qui sont absent dans Inventaire
For j = 2 To UBound(TC1, 1)
    Trouvé = False
    For I = 2 To UBound(TC2, 1)
        If TC1(j, 1) = TC2(I, 5) Then Trouvé = True: Exit For
    Next I
    If Trouvé = False Then Chaine = Chaine & TC1(j, 1) & Chr(10)
Next j
Application.ScreenUpdating = True 'affiche les rafraîchissements d'écran
MsgBox Chaine
Il doit être possible d'optimiser en utilisant vos boucles déjà présentes, mais j'ai préféré ne pas toucher à votre code
Bonjour sylvanu,
Merci pour votre réponse, simple rapide et efficace, comme d'habitude!!!
Merci encore et bonne journée.
 
- 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

Réponses
4
Affichages
139
Retour