Microsoft 365 VBA Passer à la suite si supérieur

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

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:
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.
 
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.
 
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

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 !
 
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.
 
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

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:
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 🙂
 
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 ?
 
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.
 
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 🙁
 
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 ?
 
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 …
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
250
Réponses
4
Affichages
361
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
79
Retour