Microsoft 365 VBA Passer à la suite si supérieur

akira21

XLDnaute Occasionnel
Bonjour,

Je sollicite votre aide sur un complément à ajouter à la macro ci-dessous.

J'ai besoin qu'à partir du moment où la somme des chargements est supérieur au déploiement fait ( colonne G ) alors la suite des chargements passe à la suite.

Pour mieux expliquer les choses, j'ai joint un fichier qui je l'espère sera plus explicite que mes explications !!!
VB:
Sub Chgt()
    Application.ScreenUpdating = False
    Range("K5:FF1500").Select
    Selection.ClearContents
  
    Dim Première_Ligne As Integer, Dernière_Ligne As Integer, i As Integer, Compteur As Byte, Couleur As Boolean
      
 
  
    Range("A5").Activate
  
Retour:
    Compteur = 5
  
    Première_Ligne = ActiveCell.Row
  
    Do Until ActiveCell.Offset(1, 0) <> ActiveCell
        If ActiveCell = "" Then Exit Sub
        ActiveCell.Offset(1, 0).Activate
    Loop
  
    Dernière_Ligne = ActiveCell.Row
  
              
      With Sheets("Tampon")
            For i = 5 To .Range("A" & Rows.Count).End(xlUp).Row
                If .Range("D" & i) = Range("A" & Première_Ligne) Then
                    Compteur = Compteur + 6
                    Cells(Première_Ligne, Compteur) = .Range("B" & i)
                    Cells(Première_Ligne, Compteur + 1) = .Range("C" & i)
                    Cells(Première_Ligne, Compteur + 2) = .Range("F" & i)
                    Cells(Première_Ligne, Compteur + 3) = .Range("G" & i)
                    Cells(Première_Ligne, Compteur + 4) = .Range("J" & i)
                    Cells(Première_Ligne, Compteur + 5) = .Range("K" & i)
                End If
            Next i
        End With
          
  
    ActiveCell.Offset(1, 0).Activate
  
    GoTo Retour

End Sub


Fichier trop volumineux alors voici le lien de partage

Fichier
 
Dernière édition:

akira21

XLDnaute Occasionnel
Bonjour.
Non, pas dans l'état actuel des choses parce qu'elle utilise deux objets Worksheet fixes de la rubrique Microsoft Excel objets que j'ai baptisé WshTest et WshTamp. Les structures seront elle bien identiques partout, dans les feuilles de prod et auront-elle chacune leur propre feuille déploiement également identique ?
Ça consiste en quoi d'ailleurs ces déploiements ?
Ok j'ai jeté un oeil ce matin et c'est ce que j'avais remarqué.
J'ai testé vite fait en changeant dans la macro WshTest par le nom de feuille voulue, ça avait l'air de fonctionner. Mais je n'ai pas eu le temps de pousser les tests.

Les structures pour tous les onglets sont identiques à celle de la feuille test.
A gauche, les productions prévues, à droite ce sont les chargements ( expéditions ) prévus pour les productions.
 

Dranreb

XLDnaute Barbatruc
Comment ça à gauche et à droite ? Les expéditions ne seront plus sur des feuilles différentes ?
Ah, si, je viens de comprendre que vous parlez du report des expé dans les prod.
Ce que je voudrais surtout que vous me confirmiez, c'est que chaque feuille de prod aura sa propre feuille expé correspondante à y reporter, et dans celle ci une coche à ajouter pour indiqué que ce report a eu lieu.
Dans tous les cas vous auriez intérêt à mettre ces plages de données sous forme de tableaux Excel. Je le ferais dans ma prochaine version si vous n'y voyez pas d'inconvénient.
 

akira21

XLDnaute Occasionnel
Comment ça à gauche et à droite ? Les expéditions ne seront plus sur des feuilles différentes ?
Ah, si, je viens de comprendre que vous parlez du report des expé dans les prod.
Ce que je voudrais surtout que vous me confirmiez, c'est que chaque feuille de prod aura sa propre feuille expé correspondante à y reporter, et dans celle ci une coche à ajouter pour indiqué que ce report a eu lieu.
Dans tous les cas vous auriez intérêt à mettre ces plages de données sous forme de tableaux Excel. Je le ferais dans ma prochaine version si vous n'y voyez pas d'inconvénient.

Je joins un fichier pour être plus précis.
Chaque Feuille ( ligne de production ) ont la même structure.
Tous vont chercher les infos dans la feuille Tampon.

De A:E, je récupère les infos du planning de production via power query.
Je sélectionne en D2 et D3 la plage de date sur laquelle je veux travailler les plannings.
Je récupère les infos de la feuille Tampon via une extract d'un AS400.
Tout ça c'est ok.

Condi, Bouteille, Brique, Bloc 1, Bloc 2, Co-Pack ont tous des produits ( Code SAP ) différents que l'on retrouve dans la feuille Tampon.

Pour faire simple, c'est exactement la même manière de fonctionner que sur la feuille Test mais sur plusieurs feuilles ayant des noms différents de Test.

J'espère avoir été clair dans mes explications pour pouvoir t'aider un max 😥
 

Pièces jointes

  • GigogneAkira21.xlsm
    144.1 KB · Affichages: 6

Dranreb

XLDnaute Barbatruc
Je ne peux pas pour l'instant ouvrir votre classeur car il porte le même nom que le mien déjà ouvert.
Tous vont chercher les infos dans la feuille Tampon.
Voulez vous dire dans la feuille tampon qui lui est propre ?
Parce que sinon, si elle est commune à toutes les lignes de production, peut être ne suffirait-il pas d'une coche pour y indiquer qu'elle a été reportée dans l'une d'elle, mais un code indiquant dans laquelle.
Pourquoi d'ailleurs un seul tableau de production ne conviendrait pas, quitte à y ajouter une colonne indiquant la ligne de production ?
Et êtes vous d'accord pour la mise des données sous forme de tableaux, entrainant références structurées dans leurs formules et représentation par un ListObject pour VBA ?
N'inversons pas les rôles, c'est moi qui vous aide, pas le contraire !
 

akira21

XLDnaute Occasionnel
Je ne peux pas pour l'instant ouvrir votre classeur car il porte le même nom que le mien déjà ouvert.

Voulez vous dire dans la feuille tampon qui lui est propre ?
Parce que sinon, si elle est commune à toutes les lignes de production, peut être ne suffirait-il pas d'une coche pour y indiquer qu'elle a été reportée dans l'une d'elle, mais un code indiquant dans laquelle.
Pourquoi d'ailleurs un seul tableau de production ne conviendrait pas, quitte à y ajouter une colonne indiquant la ligne de production ?
Et êtes vous d'accord pour la mise des données sous forme de tableaux, entrainant références structurées dans leurs formules et représentation par un ListObject pour VBA ?
N'inversons pas les rôles, c'est moi qui vous aide, pas le contraire !
Il y a une seule feuille Tampon regroupant toutes les infos à dispatcher dans les différentes feuilles de production suivant l'intervalle de date choisi. Tel que sur le fichier joint, je l'ai renommé pour que vous puissiez l'ouvrir.

Que voulez dire par "coche" ? Je ne vois pas ce que cela peut être 😔

Et êtes vous d'accord pour la mise des données sous forme de tableaux, entrainant références structurées dans leurs formules et représentation par un ListObject pour VBA ?
Je ne comprends pas ce que vous voulez faire, c'est un peu du chinois pour moi 😪

N'inversons pas les rôles, c'est moi qui vous aide, pas le contraire !
Oui et encore un grand merci :) Je ne sais pas comment vous remercier tellement votre aide est précieuse.
 

akira21

XLDnaute Occasionnel
Il y a une seule feuille Tampon regroupant toutes les infos à dispatcher dans les différentes feuilles de production suivant l'intervalle de date choisi. Tel que sur le fichier joint, je l'ai renommé pour que vous puissiez l'ouvrir.

Que voulez dire par "coche" ? Je ne vois pas ce que cela peut être 😔


Je ne comprends pas ce que vous voulez faire, c'est un peu du chinois pour moi 😪


Oui et encore un grand merci :) Je ne sais pas comment vous remercier tellement votre aide est précieuse.

Avec le fichier ça sera mieux !!!
 

Pièces jointes

  • GigogneAkira.xlsm
    158.5 KB · Affichages: 3

Dranreb

XLDnaute Barbatruc
Je n'ai nulle part pas tenu compte des dates. Il faut impérativement dans le Tampon toutes les expéditions devant couvrir les productions.

La coche c'est ça :
1629880931551.png

Et, pour pouvoir mettre votre alerte par absence de ce signalement, ça ne suffit plus pour indiquer au bout de la ligne d'expédition du tampon qu'elle est reportée dans une ligne de production car je ne peux plus partir d'un tableau vide pour ça, je dois effacer celles de la ligne de production concernée et donc pouvoir l'identifier.

Ce problème ne se poserait pas s'il n'y avait qui'un seul tableau de production avec une colonne donnant indiquant la ligne de production. Qu'est ce que ça vous apporte d'en avoir plusieurs ?

Menu Accueil, groupe Styles, commande Mettre sous forme de tableau.
 
Dernière édition:

akira21

XLDnaute Occasionnel
Je n'ai nulle part pas tenu compte des dates. Il faut impérativement dans le Tampon toutes les expéditions devant couvrir les productions.

La coche c'est ça :
Regarde la pièce jointe 1113976
Et, pour pouvoir mettre votre alerte par absence de ce signalement, ça ne suffit plus pour indiquer au bout de la ligne d'expédition du tampon qu'elle est reportée dans une ligne de production car je ne peux plus partir d'un tableau vide pour ça, je dois effacer celles de la ligne de production concernée et donc pouvoir l'identifier.

Ce problème ne se poserait pas s'il n'y avait qui'un seul tableau de production avec une colonne donnant indiquant la ligne de production. Qu'est ce que ça vous apporte d'en avoir plusieurs ?

Menu Accueil, groupe Styles, commande Mettre sous forme de tableau.

Ok je comprends mieux pour la coche !!!
Ce problème ne se poserait pas s'il n'y avait qui'un seul tableau de production avec une colonne donnant indiquant la ligne de production. Qu'est ce que ça vous apporte d'en avoir plusieurs ?
Je pense que cela apportera une meilleur lisibilité d'avoir plusieurs feuille mais j'ai du mal à me rendre compte du rendu final avec une seul feuille.
Avez vous un exemple ? Ca m'aiderait à vous répondre :)
 

akira21

XLDnaute Occasionnel
Ok je comprends mieux pour la coche !!!

Je pense que cela apportera une meilleur lisibilité d'avoir plusieurs feuille mais j'ai du mal à me rendre compte du rendu final avec une seul feuille.
Avez vous un exemple ? Ca m'aiderait à vous répondre :)
En y réfléchissant, cela ne serait surement pas dérangeant d'avoir tout sur une seul feuille, il suffirait ensuite de filtrer la colonne par ligne de production ?
 

Dranreb

XLDnaute Barbatruc
Et pour la mise sous forme de tableau ? D'accord ?
Est-ce que le Tampon aussi pourrait être mis sous forme de tableau ?
Je préfère m'en assurer parce que le style des intitulés de colonnes suggère qu'il sort d'un autre logiciel.
 

akira21

XLDnaute Occasionnel
Et pour la mise sous forme de tableau ? D'accord ?
Est-ce que le Tampon aussi pourrait être mis sous forme de tableau ?
Je préfère m'en assurer parce que le style des intitulés de colonnes suggère qu'il sort d'un autre logiciel.
Ok pour la mise en forme.
Effectivement, concernant le Tampon, je récupère les données via une feuille extract d'un AS400 que je filtre, supprime les infos non utiles et copie sur la feuille Tampon. Je préfère ne pas y toucher si possible 🙁
 

akira21

XLDnaute Occasionnel
Ok pour la mise en forme.
Effectivement, concernant le Tampon, je récupère les données via une feuille extract d'un AS400 que je filtre, supprime les infos non utiles et copie sur la feuille Tampon. Je préfère ne pas y toucher si possible 🙁
Et pour les infos des plannings, je les récupère via des power query.
Chaque ligne de prod a son power query.
Je préfère le préciser ! Je ne sais pas si ça va déranger ?
 

Dranreb

XLDnaute Barbatruc
Je suis un des seuls à ne pas pratiquer du tout Power Query.
À quoi bon puisque j'ai toute facilité à produire sans lui tout ce que je veux, comme je veux, avec ma fonction Gigogne. Donc pas d'UserForm de mise à jour du tableau …
J'espère au moins qu'un Code SAP ne peut pas sortir de plusieurs lignes de production différentes …
 

Discussions similaires

Réponses
6
Affichages
202
Réponses
17
Affichages
760

Statistiques des forums

Discussions
311 721
Messages
2 081 928
Membres
101 842
dernier inscrit
seb0390