Extraire des lignes en recherchant une valeur de cellule

maxmaxmax

XLDnaute Nouveau
Bonsoir à tous,

Je suis débutant sur Excel, et je galere à mette en place une macro qui puisse m'aider. Quelqu'un de vous aurait-il la solution à tous mes problèmes ?

Je vous explique mon problème(et vous joins un fichier type pour la compréhension) :


Les feuilles 'zone1' , 'zone2' et 'zone3' permettent de faire un récapitulatif de tous les travaux à effectuer pour pouvoir livrer au client un bâtiment en fin de construction.

Sur ces listes j'ai mis en colonne K l'équipe qui doit faire les travaux en relation avec la ligne (exemple : sur la feuille zone1 , le team4 doit refaire les réchampis des plinthes). La colonne L est un copié collé de la colonne K qui va me permettre de faire le suivi de ces travaux. En effet, je compte effacer le nom de l'équipe lorsque la tâche a été réalisée. (Et voila d'où vient mon besoin)

Je souhaite donc grâce à un bouton à obtenir une liste de tâche à effectuer pour chaque équipe de travaux (team1, team2, ...) qui va me permettre de voir le reste à faire des travaux pour chaque entreprise séparemment, et cela de façon actualisable. (Donc faire une recherche de valeur sur les colonnes 'L') Je souhaite donc avoir un bouton sur lequel appuyer qui me permette de rentrer le nom de l'équipe pour laquelle je souhaite obtenir la liste de travaux à effectuer. Cette liste doit s'afficher dans la feuille 'résultat'.


Auriez vous 5 min pour m'aider ?


En vous remerciant par avance,


Bien cordialement,


Maxime
 

Pièces jointes

  • test.xlsx
    11.4 KB · Affichages: 38
  • test.xlsx
    11.4 KB · Affichages: 44
  • test.xlsx
    11.4 KB · Affichages: 44

Gurgeh

XLDnaute Occasionnel
Re : Extraire des lignes en recherchant une valeur de cellule

Salut maxmaxmax,

Connais tu la fonction filtre ? Elle me paraît bien adaptée pour ton besoin => tu peux filtrer pour ne faire apparaître que l'équipe que tu veux, sans macro, sans feuille supplémentaire, etc.

Gurgeh
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Extraire des lignes en recherchant une valeur de cellule

Bonsoir maxmaxmax et bienvenu :)

Un essai dans le tableau joint. Quand on sélectionne la feuille "Resultat", cette dernière se met à jour avec les données des feuilles "Zone1", "Zone2", "Zone3" et pour les lignes dont la cellule de la colonne L n'est pas vide (càd travaux non terminés).
Ensuite un filtre automatique est appliqué; il suffit de sélectionner l'équipe désirée dans la colonne K ou L.

le code se trouve dans le module de code de la feuille "Resultat":
VB:
Private Sub Worksheet_Activate()
Dim i As Long

Application.ScreenUpdating = False
  Range("A:L").ClearContents
  If Sheets("Resultat").FilterMode Then Sheets("Resultat").AutoFilter

With Sheets("zone1")
  .Range("A3").CurrentRegion.Copy Range("A3")
End With

With Sheets("zone2")
  If .Cells(.Rows.Count, "a").End(xlUp).Row >= 4 Then _
  .Range(.Range("A4"), .Cells(.Cells(.Rows.Count, "a").End(xlUp).Row, "L")).Copy _
  Cells(Rows.Count, "a").End(xlUp).Offset(1)
End With

With Sheets("zone3")
  If .Cells(.Rows.Count, "a").End(xlUp).Row >= 4 Then _
  .Range(.Range("A4"), .Cells(.Cells(.Rows.Count, "a").End(xlUp).Row, "L")).Copy _
  Cells(Rows.Count, "a").End(xlUp).Offset(1)
End With

For i = Cells(Rows.Count, "a").End(xlUp).Row To 4 Step -1
  If Cells(i, "L") = "" Then Cells(i, "L").EntireRow.Delete
Next i

Range("A3:L3").AutoFilter
Application.ScreenUpdating = True
End Sub

nb: il n'y pas de bouton!
 

Pièces jointes

  • Extraire lignes en recherchant une valeur de cellule v1.xlsm
    24.2 KB · Affichages: 49
Dernière édition:

maxmaxmax

XLDnaute Nouveau
Re : Extraire des lignes en recherchant une valeur de cellule

Bonsoir,

Merci beaucoup mapomme.

Vu comme cela, le fichier est exploitable. Cela dit j'aurais souhaité mettre en place un bouton afin de n'afficher que les tâches d'une seule equipe afin de pouvoir l'imprimer directement et limiter donc les manipulations. Or là j'ai tous les reste à faire présent sur la feuille. J'aurais du le rendre explicite des mon premier message je m'en excuse.

De plus, ce fichier est un condensé du mien qui comporte à peut pret une trentaine de feuilles. Cela veut-il dire que le code VBA va devoir se ralonger proportionnellement aux nombre de feuilles ? (Si j'ai bien compris ce code)

Cela dit, c'est deja super pour moi, cette petite modif en plus me comblerait.

Encore merci !


Maxime
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Extraire des lignes en recherchant une valeur de cellule

Bonjour maxmaxmax,

j'aurais souhaité mettre en place un bouton afin de n'afficher que les tâches d'une seule equipe afin de pouvoir l'imprimer directement et limiter donc les manipulations

C'est fait sur la feuille résultat.

De plus, ce fichier est un condensé du mien qui comporte à peut pret une trentaine de feuilles. Cela veut-il dire que le code VBA va devoir se ralonger proportionnellement aux nombre de feuilles ?

Pris en compte dans le code. Il faut simplement dans le code de la feuille "Resultat" indiquer dans la constante FeuillesAExclure les noms des feuilles qui ne doivent pas être prises en compte pour la compilation dans la feuille Resultat (séparés par un slash).
 

Pièces jointes

  • Extraire lignes en recherchant une valeur de cellule v2.xlsm
    43 KB · Affichages: 44

maxmaxmax

XLDnaute Nouveau
Re : Extraire des lignes en recherchant une valeur de cellule

Bonjour mapomme,

Cette modification est parfaite. Cela m'aidera grandement pour le mettre en place sur mon fichier final.


En espérant que je ne m'y perde pas trop ... :p


MERCI !!:D


Cordialement,


Maxime
 

Discussions similaires

Statistiques des forums

Discussions
311 711
Messages
2 081 786
Membres
101 817
dernier inscrit
carvajal