Copier plusieurs lignes selon 2 conditions

Bonjour à tous,

Malgré mes recherches sur le forum je n'ai pas trouvé la méthode pour répondre à ma question.

Je vous mets le fichier modèle en pièce jointe.

J'ai trois onglets ; un pour la saisie (planning) et 2 pour des données (coffre 1 et coffre 2).

Je souhaite qu'après avoir sélectionné le produit puis l'action ca me copie automatiquement les lignes correspondantes à l'action présentes dans l'onglet produit correspondant .(Colonnes N°piece, intitulé, dimensions, quantité)

Je sais faire avec la formule SI pour copier une ligne mais comment faire pour copier plusieurs lignes?

Il faut sans doute une macro mais je cale!

Merci d'avance à ceux qui pourront m'aider.

12testexcel.xlsx (8.10 Ko)

bonjour

un TCD avec un segment cliquable pour filtrer selon le produit

aucune macro, aucune formule. Rien !

Merci de la réponse mais ca ne correspond pas à mon besoin. Je pense que j'ai mal expliqué ce besoin. Mon but est de faire "un planning de production".

Je saisis la date à laquelle le travail sera à faire, je sélectionne le produit, l'action à mener et ca m'affiche les données correspondantes.

Sur le principe, dans le cellule à droite de l'action, il faut dire à excel recherche la feuille indiqué dans la cellules située à 2 cellules à ta gauche, puis recherche l'action indiqué dans la cellule située immédiatement à gauche puis affiche les lignes correspondant à cette action.

Puis je passe à une autre date...puis encore une autre date...

J'espère avoir été plus clair.

Bonne soirée.

8testexcel.xlsx (8.16 Ko)

re

pas compris

parle-nous en français sur le besoin de planification : coffres (ou produits), dates de lancement, de réalisation, nomenclatures, activité (action ou poste ou étape), quantités unitaires pour pour le lot, lots...

ou bien : je saisis en onglet Planning, et je veux extraire des données selon le modèle en onglet Coffre1. Idem pour coffre 2 etc.

mais ça je te l'ai fait dans mon exemple plus haut.

Bonjour, Salut à tous !

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim P$, A$, n%, i1%, i2%, c As Range
    If Target.Column < 4 Then
        n = Target.Row
        If Target.Rows.Count > 1 Or Me.Cells(n, 5) <> "" Then
            Application.EnableEvents = False
            Application.Undo
            Application.EnableEvents = True
            Exit Sub
        End If
        If IsDate(Me.Cells(n, 1)) Then
            P = Me.Cells(n, 2): A = Me.Cells(n, 3)
            If P <> "" And A <> "" Then
                On Error GoTo Fin
                With Worksheets(P)
                    Set c = .Columns(1).Find(A)
                    If Not c Is Nothing Then
                        i1 = c.Row: i2 = i1
                        Do While .Cells(i2 + 1, 1) = "" And .Cells(i2 + 1, 3) <> ""
                            i2 = i2 + 1
                        Loop
                        Set c = .Range("B" & i1 & ":E" & i2)
                        Me.Range("D" & n).Resize(i2 - i1 + 1, 4).Value = c.Value
                    End If
                End With
            End If
        End If
    End If
Fin:
End Sub

La procédure ci-dessus se place dans le Module de la feuille Planning (elle ne peut fonctionner ailleurs !)

Elle se lance automatiquement lorsqu'une modification intervient dans les 3 premières colonnes.

D'une part elle veille à ce que l'utilisateur n'opère pas de saisie sur un emplacement occupé : si la colonne Intitulé en regard de la saisie est occupée, ou si la saisie occupe plusieurs lignes, elle est annulée...

(NB-Il s'ensuit que si l'on veut effacer des données sur Planning, il convient d'effacer d'abord les colonnes 4 et suivantes, sans quoi l'on ne pourra effacer les 3 premières...)

D'autre part, lorsque l'emplacement est conforme, que la saisie en A est une date, que les saisies en B et C sont effectuées, elle va chercher sur la feuille produit indiquée l'action indiquée pour ajouter les informations manquantes.

NB- Il convient de ne pas faire d'erreur de saisie (et de respecter la casse) ! Si tu saisis Coffre2 comme il figure sur ta feuille, il ne se passera rien !! Car la feuille se nomme Coffre 2.

Cordialement.

Rechercher des sujets similaires à "copier lignes conditions"