Importer classeur sous 3 conditions

Bonjour à tous,

Je reviens vers vous car c'est la partie finale la plus dur de mon projet de logiciel VBA!!!!

J'ai un classeur BMO YPE avec deux feuilles :

1) BMO : Génératrice de bilan main d'oeuvre

2) Biblio : Bibliothèque de données

Une fois mon BMO (Nom chantier_Numéro de chantier_BMO.xlsm) terminé et rempli par une tiers personne, il faudrait que ces données soient importées dans la feuille biblio du fichier souche (BMO TYPE), le nom du BMO à importer et sa localisation sont alors variable.

Or c'est ici que ça se complique :

  • Variable de ligne et de colonne (Si Titre/Position/Nom chantier existe ou pas)
  • J'ai des titres (en bleu) et des positions
  • Je voudrais que les valeurs s'ajoute sous la référence ou créer une référence à chaque fois
  • Les positions sous chaque titre soient triées de A->Z
  • Idem pour les Titres entre eux e A->Z

J'ai essayé d'expliquer clairement cela dans la pièce jointe par écrit car c'est assez cocasse...

1020140722131133866.pdf (226.43 Ko)

En espérant que c'est possible! Merci à vous de m'éclairer dans ce nouvel affront!

Bonjour je vois que mon problème ne ramène pas les foules. J'ai quelques idées mais j'ai quand même besoin de vos talents

1) Comment grouper des lignes varables? du genre :

- J'ai des lignes titre différenciées du reste par une couleur bleu

Selectionner chaque lignes entre chaque titre de couleur bleu
Selection.Rows.Group

Avec les titres en bleu variable!

Merci à vous

Voici la réponse :

Public Sub test()
Dim c As Variant

With ActiveSheet.Outline
.AutomaticStyles = False
.SummaryRow = xlAbove
.SummaryColumn = xlRight
End With

For Each c In Range("A3", Cells(65535, 1).End(xlUp))
    If c.Interior.ThemeColor <> xlThemeColorAccent5 And c.Interior.TintAndShade <> -0.249977111117893 Then
        c.Rows.Group
        End If
Next c

End Sub

En espérant que cela aide!

Bonsoir : Nouvelle question : Pourquoi est-ce que ce code me tri que la première colonne et non pas toute la ligne? Une heure que je suis dessus à rien n'y comprendre....

 'Trie A->Z tous les titres
Plage = Range(Cells(3, 1), Cells(Range("A65536").End(xlUp).Row, _
                Range("IV3").End(xlToLeft).Column)).Address

Precell = 3
Dercell = Range("A1048576").End(xlUp).Row
Rows(Precell & ":" & Dercell).Select
    ActiveWorkbook.Worksheets("Biblio").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Biblio").Sort.SortFields.Add Key:=Range("A3"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Biblio").Sort
        .SetRange Range(Plage)
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

Merci à vous!

Bonjour

J'ai regardé tes fichiers, j'ai lu ton PDF j'ai essayé de comprendre et j'ai perdu

Toi tu connais très bien tes fichiers et tu sais de quoi tu parles

Mais moi je ne sais pas

Quand je lis "nom de chantier existe" heuu un chantier c'est l'ensemble et je n'ai pas trouvé. J'ai bien vu "ABC Location" et "P38 025" c'est lequel le nom de chantier ?

Ensuite tu parles de titres, de position .... c'est bien mais moi je suis perdu

Ce qu'il faudrait que tu fasses

C'est à partir de ton fichier BMO tu remplis une feuille avec le résultat souhaité en expliquant pourquoi cette ligne

Cela serait bien qu'il y est les 3 cas que tu indiques

Voilà pour toi banzai64!

J’espère réellement avoir été le plus clair possible... Sinon je reste à ta disposition

Tu as trois exemples de BMO. Tous les futurs fichiers seront du même type

Et la feuille biblio qui regroupe les valeurs importantes tirées de chaque BMO type et annnotée.

Milles merci à toi banzai64! 8) 8)

Bonjour

Alors pas évident surtout qu'il y des réactions que je ne maitrise pas (création de doublon - Why, that is the big question)

En attendant regardes et si tu trouves quelques chose, fais le savoir

Bonsoir Banzai64,

Premièrement un immense merci! Grace à toi je fais un grand pas en avant dans ce projet

J'ai cependant quelques léger rajout à faire à ton travail :

1) Est-il possible de garder les données en mémoire? et de venir rajouter à chaque importation car au fil du temps la bibliothèque pourrait avoir plus de 50 chantiers... Alors importer 50 BMO à chaque fois serait un peu compliquer :/

2) Il ne faut pas copier les positions avec l'unité "h" comme tu l'as fais (encore merci), mais aussi celle avec "fft" et celle avec une norme réelle de = 0.

3) Dans la procédure traitement, à la suite de << If Not Cel Is Nothing then >> tu as mis : 'voir si autre chose à faire

En effet, si on arrive a garder en mémoire les données de la feuille, ça serait top de pourvoir uniquement mettre à jour les positions et remplacer les quantités et les TU si la position existe ou bien ajouter une nouvelle position si il n'y a rien pour ce chantier là.

A par ça je suis bluffé par le résultat aussi rapide! Encore une fois merci à toi Banzai64

Bonsoir

Un souci

Dans un fichier peut il y avoir 2 fois la même position dans 2 titres ?

Voir le fichier SOFIDAL MUR CF_P0_BMO.xlsm

Dans fondations il y a "Béton propreté" mais aussi dans Structure

Bien sur le second ne sera pas copié parce Norme réelle =0

Et cela toujours pareil - On ne pourra copier qu'une position ?

En attendant : A tester

Bonjour Banzai,

Désolé pour les jours de retard mais j'étais en week end prolongé.

Merci, millement merci C'est Top!

1) Pour répondre à ta question, oui chaque position doit être indépendante de son titre, comme tu pourra voir dans le fichier BMO TYPE (Mélange de ton fichier et de mon BMO Type de base), lorsque j'ai rajouté un chantier les positions se sont copiées aux anciennes et non sous une nouvelle position dans un nouveau titre. Est-ce que cela est possible?

2) Peux tu enlever le MsgBox du début? celui qui indique si l'on doit supprimer? Les valeurs acquise tout au long des années sont trop importantes pour être supprimée par un simple clic

3) Est-il possible de trier A-Z les titres également? Pour faciliter lors des recherches?

Mais crois-moi, c'est exactement ce qu'il me faut! On s'approche de la fin grâce à toi et je t'en remercie grandement!

4bmo-type.xlsm (145.72 Ko)

Bonjour

Pas d'idée pour ce tri spécial

A tester pour le reste

Bonsoir BANZAI64!

C'est exactement ça! Je pouvais pas rêver mieux Ça marche impeccable!

Merci à toi pour tout ton temps partagé pour moi et les autres! 8)

Bonjour

Quand cela concerne le forum, il vaut mieux rester dessus

En utilisant le logiciel, je me suis aperçu que lorsqu'une position avait

le même nom que le titre, cette position n'était pas copié sous le titre :/

Saurais-tu d'où cela provient ?

J'aurai bien une idée (personnelle à moi) : Manque de rigueur dans la conception des relevés

Sinon à tester

Si ce n'est pas bon prière de fournir UNIQUEMENT le relevé ayant cette anomalie

Banzai 64 ça a l'air de marcher!

Je n'ai pas le problème et ça a bien recopié la position sous le titre

Merci!

Rechercher des sujets similaires à "importer classeur conditions"