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

Dans mon cas, j'utilise Power Query pour aller chercher les sources de données extérieures au fichier, c'est à dire les fichiers de planning de production qui sont en format excel et de pouvoir les modifier facilement pour ne garder que les infos voulues.
Cela me permet en "Actualisant tout", de récupérer les infos des plannings prod sans devoir ouvrir tous les fichiers planning.

Je vous ais fait un exemple ci-joint.
J'ai volontairement enlever ou modifier des infos pour question de confidentialité mais le principe est là.

Pour cela ouvrir le fichier cockpit, Menu, Onglet Données, Requêtes et Connexions, à droite s'affiche les sources extérieur que je vais chercher ( planning ).
Pour ajouter un source extérieur => Menu, Onglet Données, Obtenir des données, A partir d'un fichier, A partir d'un classeur.
Si tu changes des infos dans un des plannings et que tu enregistres. Si tu actualise tout dans le fichier Cockpit, les données se mettent à jour.

Cela a pour effet d'ajouter une feuille reprenant les infos du planning extérieur.
CPO pour le Condi
LG4 pour la Brique
CBO pour la Bouteille
DWF pour le Bloc 1
DWF2 pour le Bloc 2
COPA pour le CoPack

Je précise que les sources extérieures (planning) ne sont en réel pas en forme de tableau. C'est juste pour l'exemple.

J'espère au moins qu'un Code SAP ne peut pas sortir de plusieurs lignes de production différentes …
Seul les prod Bloc 1 et Bloc 2 ont des code SAP en commun

Ci-dessous le lien des fichiers, car trop volumineux pour le joindre ici :
https://www.swisstransfer.com/d/4efc3eb9-a51e-4c6a-bd78-4d2f7de63f76
 

akira21

XLDnaute Occasionnel
En attendant je joins ma version du fichier dans son état actuel.
Wow, c'est vraiment top 😍
Je t'invite à mettre le fichier ci-joint dans le dossier que je t'avais envoyer en Zip dans les msg au dessous, j'ai ajouter la macro pour se balader dans le planning suivant l'intervalle de date choisi.

Comment faire pour déployer ça sur les autres lignes de production ?
 

Pièces jointes

  • GigogneAki.xlsm
    195 KB · Affichages: 3

akira21

XLDnaute Occasionnel
Je remarque que cela s'arrête à la ligne 54.
Peux tu me dire comment faire pour que l'action se fasse jusqu'à la ligne 150 pour laisser de la marge ainsi que jusqu'à la colonne FF ?
Mais vraiment, c'est génial ce que tu as fait :)
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
C'est automatique quand on ajoute des lignes et des colonnes au tableau. C'est l'avantage d'un ListObject.
7 chargements devraient suffire largement maintenant que les expéditions ont tendance à suivre les productions, non ? il me semble que ça devrait plutôt tourner aux alentours de 1 en moyenne.

D'ailleurs je ne vois pas de quelle ligne 54 vous parlez
le TbProd couvre actuellement A5:AQ38 et la plage normale dans Tampon A6:A148 avec les intitulés de colonnes.

Je viens d'ouvrir votre classeur. Attention il ne faut jamais laisser de lignes vides inutiles dans un tableau. Et la sub Chg n'est toujours pas adaptée pour travailler sur plusieurs feuilles de productions. Ni une seule avec une colonne pour la ligne de production. Vos intentions à ce sujet étaient un peu dans le flou, je trouve, à cause de cette mystérieuse histoire de planning extérieur.
 
Dernière édition:

akira21

XLDnaute Occasionnel
C'est automatique quand on ajoute des lignes et des colonnes au tableau. C'est l'avantage d'un ListObject.
7 chargements devraient suffire largement maintenant que les expéditions ont tendance à suivre les productions, non ? il me semble que ça devrait plutôt tourner aux alentours de 1 en moyenne.

D'ailleurs je ne vois pas de quelle ligne 54 vous parlez
le TbProd couvre actuellement A5:AQ38 et la plage normale dans Tampon A6:A148 avec les intitulés de colonnes.
Au temps pour moi, je ne sais pas pourquoi tout à l'heure ça s'arrêtait à la ligne 54, je viens de refaire le test et c'est ok :)

Pour ce qui est des 7 chargements, si le code SAP n'a q'une seule ligne alors ça risque de faire peu pour certaines productions qui peuvent produire 300 palettes par exemple, cela diviser par 30 palettes par camion, on est à 10 chargements mais je ferais la modification ci-besoin.

Pouvez vous m'aiguiller sur la manière de déployer la page test sur les autres lignes de production ?
 

Dranreb

XLDnaute Barbatruc
Vous renoncez à une colonne pour ça dans un tableau unique ?
Rappel: S'il y a plusieurs feuilles de lignes de production. Je ne peut plus suivre l'utilisation des lignes dans la feuille Tampon avec une coche, parce que je ne sait reconnaitre celles qui n'ont pas été mises par la feuille prod considérée.
 

akira21

XLDnaute Occasionnel
Vous pourriez bosser un peu quand même ! Vous la mettez où ? Devant ou derrière le Code SAP ? Et avec quel intitulé ?
Désolé, j'aimerai tellement pouvoir aider mais cela dépasse mes compétences.
J'essais tant bien que mal de comprendre votre code depuis le début 😥
Je relis et relis en boucle votre code pour essayer de le comprendre et en faisant des recherches sur le web pour m'aider à déchiffrer.

Je pense que c'est mieux de mettre la colonne au tout début, avant le Code SAP avec comme intitulé "Ligne Prod"

Je suis désolé, mais je suis impuissant pour pouvoir vous aider comme je le voudrais et je vous en suis très reconnaissant pour le magnifique travail que vous faites 🤗
 

Dranreb

XLDnaute Barbatruc
Il faut me poser des question sur ce que vous ne comprenez pas dans le code.
Voilà votre tableau muni d'une colonne "Ligne Prod" devant.
Normalement s'il devait y avoir plus de 7 chargements ce serait écrit et ça devrait agrandir le tableau en colonnes. Il ne vous resterait qu'à refaire les intitulés.
 

Pièces jointes

  • GigogneAkira21.xlsm
    95 KB · Affichages: 3
Dernière édition:

akira21

XLDnaute Occasionnel
Encore une fois, vraiment un grand merci pour votre aide.
Vous êtes vraiment doué et d'une gentillesse incroyable.
Si je peux vous aider en retour d'une manière ou d'une autre, n'hésitez surtout pas :)

J'ai commencé à modifier le fichier pour y inclure les plannings en Power Query avec intervalle de date de travail.
Voici un 1er aperçu ci-joint.
Je continuerai demain car ayant commencé ma journée de travail à 5h ce matin et demain idem, j'ai besoin de repos !
Il faut me poser des question sur ce que vous ne comprenez pas dans le code.
Pour ne pas mourrir bête, j'aurai pas mal de question à vous poser ! Vous m'avez ouvert la voix sur un sujet que je ne connaissais pas du tout, dictionary. Cela m'a l'air très utile 💪
De plus, j'aurai d'autres questions sur le mod de fonctionnement de votre code gigogne.
Je vous les poserai à tête reposée :)

Je vous souhaite une agréable nuit et encore merci pour votre gentillesse et aide
 

Pièces jointes

  • GigogneAkira21.xlsm
    299.3 KB · Affichages: 3

Discussions similaires

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

Statistiques des forums

Discussions
311 716
Messages
2 081 848
Membres
101 826
dernier inscrit
dododu89