Résultat soustraction sur un autre onglet

Bonjour à tous,

Je vous expose mon besoin:

j 'ai mon besoin en nombre de palettes sur la colonne B ensuite de la colonne C à F ou se trouve des palettes disponibles.

Je veux faire une boucle pour me soustraire à chaque fois mon besoin (Colonne B) -(Colonne C) si je ne trouve pas la somme totale je continue à soustraire avec la colonne voisine de C cad (Colonne B)-(Colonne D) jusqu'à ce que je trouve la totalité de mon besoin.

Ensuite j 'aimerais récupérer le résultat de la soustraction et la mettre sur un autre onglet DONNES.

Vous trouverez ci joint le fichier et ci dessous le code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'On désactive les events pour empêcher les bugs
    Application.EnableEvents = False
Dim i As Integer
Set Ws = Sheets("Liste")
      If (Target.Column = 2) Then
        Row = Target.Row
        Nb = Range(Target.Address)
        Var = Cells(Row, i) - Nb.Value
        i = 3
        While Nb > 0 And i <= 6
             If Not IsEmpty(Cells(Row, i)) Then
                If Cells(Row, i) >= Nb Then
                   Cells(Row, i) = Cells(Row, i) - Nb
                    Nb = 0
                ElseIf Cells(Row, i) < Nb Then
                    Nb = Nb - Cells(Row, i)
                    Cells(Row, i) = 0
                End If
            End If
            i = i + 1
        Wend
        End If
    Application.EnableEvents = True
End Sub

Bien cordialement

13transfert.xlsx (31.33 Ko)

Bonjour

Comment est sensé fonctionner ton programme

Tu écris dans la page "Liste" combien tu en as besoin le code, ou c'est dans la page "DONNEES" ?

Dans la page "DONNEES" à quoi servent les colonnes si tu ne veux que le résultat ?

Donne la démarche exacte des opérations à faire et indique, en prenant des valeurs présentes, le résultat que tu veux avaoir

Bonjour,

Mon besoin est bien dans l'onglet Liste et je veux récupérer le résultat dans le l'onglet transfert à chaque fois qu'il y a des palettes disponible, afin d'envoyer cette dernière liste aux dépôts concernés pour effectuer le transfert du stock.

Bien cordialement

Bonsoir

Banzai64 a écrit :

Donne la démarche exacte des opérations à faire et indique, en prenant des valeurs présentes, le résultat que tu veux avaoir

Bonjour,

En fait je veux soustraire mon besoin (colonne B) dans les quatres dépôts suivantS (A,B,C,D) l'un après l'autre successivement jusqu'à ce qu'il trouve la totalité de mon besoin.

Par exemple la ligne 21 (N°182496) j'ai un besoin de 6 palettes: je commence ma boucle en faisant 6-2 (depôtA)=4, puis 4-1(depôtB)=3 puis comme dans le dépôt C et D il y a aucune valeur la boucle s’arrête. supposant j'avais les 6 palattes dans le dépôtA la boucle s'arrête.

Vers la fin j'aimerais récupérer les valeurs trouvées sur l'onglet données (colonne A code cellule A2= 182496 , dépôtA cellule B2= 2, dépôtB cellule C2= 1.

Grâce aux valeurs récupérer sur l'onglet DONNEES je pourrai faire un ordre de transfert de ses palettes sur le dépôt 001 (Colonne B sur l'onglet Liste) .

J'espère que j'ai bien expliqué.

Bien cordialement

Bonjour

A vérifier si j'ai compris la demande

Bsr ,

Il me semble que le code est correcte.

Quand je modifie une valeur dans la feuille liste, je ne trouve pas le résultat sur l'onglet données.

Bien cordialement

Bonsoir

As tu lu le mode d'emploi ?

Bonjour,

Je m'excuse je n'ai pas lu le mode d'emploi.

la je viens de tester ça marche super bien, je vous remercie énormément parce que ça fait deux semaines que je chercher la solution.

par contre j'ai un autre souci dans mon fichier de base le tableau dans l'onglet Liste est un tcd donc impossible de changer les valeurs.

serait il possible que la macro balaie les codes l'un après l'autre sans sélectionner le code .

Bien cordialement

Bonjour

A tester

Bonjour,

J'ai toujours le même problème sur l'onglet liste, comme c'est un tcd dans mon fichier impossible de changer les valeurs car tu as mis dans la macro de soustraire le besoin et mettre 0 quand il prends une palette.

Est ce que c'est possible dans le cas ou il y aucune disponibilité des palettes sur les 4 dépôts de ne pas remonter le code sur l'onglet données.

Cordialement

Bonjour

Le tableau en page Liste n'est plus modifié

A tester

Bonsoir,

je viens de tester, ça correspond parfaitement a ce que je souhaite.

je vous remercie , avec cette macro je gagnerai du temps à analyser.

Cordialement

Bonsoir,

Je permets de revenir vers vous car je viens de me rendre compte d'un petit oubli sur la macro.

Par exemple j'ai un besoin de 2 palettes; quand il trouve aucune palette sur le premier dépôt il passe à la ligne suivante.

Est ce que c'est possible qu'il balaie les 4 dépôts avant de passer à la ligne suivante?

Je voulais savoir si jamais je veux ajouter d'autres dépôts qu'elle ligne je pourrai changer sur la macro.

Bien cordialement

Bonsoir

Pour l'erreur un copier/coller non maitrisé

A la place de la ligne

If Application.Sum(T1(Ligne, 3), T1(Ligne, 3), T1(Ligne, 3), T1(Ligne, 3)) > 0 Then

Il faut

If Application.Sum(T1(Ligne, 3), T1(Ligne, 4), T1(Ligne, 5), T1(Ligne, 6)) > 0 Then

Pour ajouter un dépôt (ou plusieurs) de plus : A voir dans le code

Je t'ai mis en exemple le fait de rajouter 1 dépôt

Bonsoir,

ça marche très bien, Merci encore une fois pour les explications sur la macro .

J'ai essayé de l'appliquer, par contre le nombre de dépôt est variable .

Vous trouverez ci joint le fichier avec 45 dépôts du coup je voulais savoir s'il y a un autre moyen d’exécuter la boucle sur une plage de colonne de A à AZ par exemple .

Bien cordialement

2test.xlsm (27.47 Ko)

Bonsoir

A tester

Bonjour,

Je viens de tester sur le fichier ça marche bien

par contre quand j'ai lancé la macro sur mon fichier il y a eu un débogage parce que ma base est un tcd et il m'as mis cette phrase en jaune ( If IsNumeric(T1(Ligne, 2)) Then )

Bien cordialement

Bonjour

Oui et ......

Il faut le fichier en cause

Bonjour,

Je souhaite eviter de faire une copie du TCD sur la macro et sous traire les quantités directement sur la "BASE"

J'ai un autre souci! J'aimerais ajouter sur la macro de faire une copie des numéro de conteneur à chaque fois j'ai une quantité sur la colonne du numéro de conteneur.

par exemple : onglet "BDDCONFG1" sur la colonne W j'ai un besoin de 1374 à ramener, il faut copier tous les numéros de conteneurs que à chaque fois j'ai un besoin à ramener sur l'onglet résultat.

Il faut faire la même chose sur BDDCONFG2 pour le numéro de commande.

après pour le 3 eme onglet "BDDCONFG3" je souhaite ramener le code article en début, le numéro de cde etla quantité sur l'onglet "résultat2"

6maquette.xlsm (256.26 Ko)

Bien cordialement

Rechercher des sujets similaires à "resultat soustraction onglet"