Affichage/Masquage automatique de lignes

Merinom

XLDnaute Junior
Bonjour le forum!

Dans l'onglet 4 de mon fichier j'introduis des données renseignées par 'Lot et Coulée'. Il peut avoir jusqu'à 30 données par 'Lot et Coulée'. Dans le fichier j'ai séparé les groupes de 30 par différentes couleurs.
J'ai besoin de transposer ces données dans l'onglet 3 mais en masquant les lignes non renseignées des 'Lot et Coulée'.
Dans le fichier ci joint le premier lot contient 2 données, le 2ème en a 15 et le 3ème 16. Si je rajoute une ligne dans l'onglet 4 au lot 1 je voudrais quelle s'ajoute automatiquement sur l'onglet 3. De même si je rajoute un bloc de 30 données pour un nouveau Lot.
N'hésitez pas a demander plus d'info si nécessaire! Merci en avance !

Cordialement

Martin
 

Pièces jointes

  • fichier.xlsx
    56.2 KB · Affichages: 50

vgendron

XLDnaute Barbatruc
Hello

Le besoin me parait beaucoup plus complexe que le laisse entendre ta demande

si on se contente de la demande. ca te donne ca:
avant de lancer le code. créer une nouvelle feuille "Test"

VB:
Sub Dispatch()

Dim TabloToExport As Range
DebutTab = 9 'première ligne du premier tablo
FinFeuille = Range("P" & Rows.Count).End(xlUp).Row 'dernière ligne du dernier tablo
While DebutTab < FinFeuille
    With Sheets("4")
        Set TabloToExport = .Range("A" & DebutTab & ":O" & DebutTab + 29)
        'TabloToExport.Select
        Coulée = TabloToExport(1, 2)
        Lot = TabloToExport(2, 2)
    End With
    nb = WorksheetFunction.CountA(TabloToExport.Columns(4)) 'nb de lignes

    With Sheets("Test")
        .Range("A" & .Rows.Count).End(xlUp).Offset(2, 0) = "Coulée/Lot: " & Coulée & "/" & Lot
        For i = 1 To nb
            .Range("A" & .Rows.Count).End(xlUp).Offset(1, 0) = TabloToExport(i, 4)
        Next i
    End With
DebutTab = DebutTab + 30
Wend
End Sub
 

vgendron

XLDnaute Barbatruc
Pour la suite.. qui va sans doute venir :)
il va falloir expliquer comment tu passes de la feuille 4 à la feuille 3

1) sur la feuille 4, ca se passe par blocs de 30 lignes -colonnes A à O (numérotées col P et colorées) -->OK

2) en haut à gauche de chaque bloc, on récupère Coulée et Lot -->OK
3) sur feuille3, ca devient du texte "Coulée/Lot" colonne B puis l'info Coulée - Lot dans les colonnes fusionnées C - D - E -->OK

4) les lignes à récupérer dans le bloc sont colonnes D à O ?
Le RepTube (colonne D) se met en feuill3 colonne A
la Longueur (Colonne E) se met en Feuill3 colonne B
T1 à T6 --> Nb de colonnes renseignées = nb de colonnes à renseigner dans feuille 3 à partir de la colonne C à H
ces fameuses colonnes sont à remplir en fonction du T1 T2...T6
cas de la première ligne du 1er bloc
T2 remplie ---> Colonne C feuille3 = Numéro Tube - 2
cas de la seconde ligne du 1er bloc
T1 ET T2 remplies --->Colonne C Feuille3 = Numéro Tube - 1
Colonne D Feuille3 = Numéro Tube -2


jusque là, je pense avoir bien saisi la logique..
SAUF que. pour le second bloc.. plus rien ne correspond
Coulée/Lot toujours OK
mais les numéro de tube ne correspondent plus... (5029 est devenu 5000)
et apparition d'un -A ??
 

Merinom

XLDnaute Junior
Salut vgendron!

Merci pour ton aide ! (à nouveau :) )

Tu as déjà déchiffré le fichier assez bien, les incohérence pour le second bloc c'est de ma faute, j'ai changé les valeurs pour tester des choses. L'apparition du "-A" est rajouté pour toute les valeurs de T1 à T6 de la feuille 4 inférieure à 500 sinon c'est "-1","-2" et ainsi de suite. les colonnes N et o de la feuille 4 ne sont pas à transposer. Je joins le fichier avec les bonnes valeurs. Si ca aide, les "Rep tube" correspond aux identifiants des tubes et les T1...T6 sont les troncons des tubes, car ils sont coupés. Les troncons inf à 500 sont des échantillons, c'est pour cela qu'ils sont renommés avec "-A" et "-B".

Merciii infiniment !!
 

Merinom

XLDnaute Junior
Comme d'habitude je suis bouche bée par ton travail. Bravo.
J'ai essayé de faire une modif sur la feuille 4 et j'ai re-appuyer sur le bouton et la modif n'est pas été prise en compte dans la feuille 3. Et les "-A" ne sont pas pris en compte non plus pour les T1...T6 inférieure à 500. Je suis exigeant hein ? Merciii !
 

vgendron

XLDnaute Barbatruc
Re
Voici la rev4

il y a quelques soucis encore
1) dans ta feuille 4: parfois. il n'y a pas de Rep Tube (ligne Excel 72 dans le 3eme bloc)
1-1) --> ca provoque que le calcule du nombre de ligne n'est pas bon---> Donc au final, il manque une repTube (5031)
1-2)--> ca provoquait un ecrasement de la ligne sans RepTube : dans la feuille 3: on passait de 5017 à 5019
j'ai corrigé pour avoir un "-" à la place de rien --> mais il y a toujours le pb de la ligne manquante
1-3) --> en mettant XXXX à la place de rien dans la feuille 3: ca règle tous les problèmes: pas d'écrasement et plus de ligne manquante

2) j'ai voulu inserer dans la macro un bout de code pour augmenter la taille des lignes de data .. sauf que du coup.. la macro rame un maximum !! je ne pige pas vraiment pourquoi..
--->donc. je les ais mis en commentaires: fais l'essai AVEC et tu vas voir à quel point ca devient long..

sinon. ca me semble ok
 

Pièces jointes

  • fichier 4.xlsm
    79.1 KB · Affichages: 43

Merinom

XLDnaute Junior
Salut !

je viens de voir ton fichier et il marche très bien. Par contre :) , j'ai remarqué 3 choses :
- si le 1er tronçon est inf à 500 et le 2eme est sup à 500 celui -ci va être nommé "-2" au lieu de "-1", c'est à dire qu'il incrémente les "-A" et les "-1" au même temps : -A , -2, -B, -4 au lieu de -A, -1, -B, -2

-la mise en page du fichier n'est pas importante, il suffit qu'à l'onglet 3 chaque ligne soit séparée d'une ligne d'espacement, oubli les petites lignes de l'onglet 3 original.

-il y a un chevauchement des couleurs des cellules lorsqu'on ajoute un ligne à un bloc, il faudrait remettre à zéro la mise en page et format de la page 3 avant de relancer la macro

Par contre les lignes que tu as ajouté pour la taille des lignes marchent très bien, sans ralentir l'exécution de la macro

Merci pour ton aide vgendron!
 

vgendron

XLDnaute Barbatruc
Hello

si le 1er tronçon est inf à 500 et le 2eme est sup à 500 celui -ci va être nommé "-2" au lieu de "-1", c'est à dire qu'il incrémente les "-A" et les "-1" au même temps : -A , -2, -B, -4 au lieu de -A, -1, -B, -2

bah non... l'incrémentation est indépendante.
pour le A et B, c'est uniquement si <500
pour le -1 -2.. ca dépend de OU se trouve ton premier troncon..
ex: premier bloc
Rep Tube 4299 Longueur 1612 ---> Le premier tronçon renseigné est en colonne T2 d'ou le -2
--> donc soit, il manque une donnée dans T1
-->soit la donnée 1187 n'est pas à sa place. ?

-->soit. la position ne doit pas intervenir dans l'indice -1 -2 -3 ?
 

Merinom

XLDnaute Junior
Re,

En fait les tubes <500 sont des échantillons et sont prélevés aux EXTREMITES des tubes, donc soit il est le 1er tronçon soit le dernier ou sur les deux extrémités. Quand un tube est >500 sont 1er indice doit être toujours "-1" même si il est T2.
 

vgendron

XLDnaute Barbatruc
Voici une Rev5
pour les indices, j'ai corrigé pour toujours commencer à 1 (j'ai anticipé ta réponse que je viens de voir :) )
pour le chevauchement des couleurs, j'ai modifié pour que la macro commence par effacer la feuille 3
et pour la hauteur des lignes.. bizarrement auj. ca ne ralentit pas l'execution du code..
sans doute un bug hier..
 

Pièces jointes

  • fichier 5.xlsm
    79.8 KB · Affichages: 39

Merinom

XLDnaute Junior
C'est impeccable comme d'habitude, bravo!
Je voulais te demander une dernière chose seulement si tu as le temps : transposer les numéros de tronçons de tubes obtenus à la feuille 3 dans la feuille 2 (hormis les échantillons comme 5000-A, 5000-B, etc). Ce sont des étiquettes, en rouge sont les numéros des tronçons. Si cela se pourrai faire automatiquement ca serait génial.

Merci infiniment!
 

Discussions similaires

Réponses
2
Affichages
598

Statistiques des forums

Discussions
312 198
Messages
2 086 145
Membres
103 129
dernier inscrit
Atruc81500