VBA : copie de lignes sous conditions vers d'autres onglets

Bonjour, oui c'est possible, par contre il me faut un fichier définitif. Définitif dans le sens où le problème des onglets est résolu. Afin qu'on puisse parametrer la macro pour dire " tu vas chercher l'information dans l'onglet 8 ou 10.." you see ?!

I see !

Le fichier joint est définitif au niveau de l'emplacement et des noms d'onglets.

Il y a le code que j'ai (mal) bidouillé et le bouton que j'ai créé qui sont déjà paramétrés dessus.

Je croise les doigts, si tout fonctionne c'est génial !

voilà...il faut maintenant tester et voir si cela convient

Testé et approuvé !!

C'est parfait, un grand merci à vous

Il faudra juste être vigilent concernant la colonne O "mois prévisionnel".

Il ne faut pas mettre "A" puis laisser la case "mois prévisonnel" vide en activant la macro.

Car par défaut, les lignes se copient alors dans "graphique" (ce qui est logique), mais peut être embêtant lors de l'utilisation.

Je vais faire une formule pour que la colonne A soit remplie par défaut, ça c'est à ma portée 8)

Merci encore pour ce bel élan de solidarité, et peut être à bientôt sur le forum !

hum...Mais le mois prévisionnel c'est pas la colonne M ? Je ne comprends plus trop là...

Pas la peine de mettre une formule, prenez se code là qui inclus la condition quand le mois prévisionnel n'est pas renseigné

Sub COPIEMOISPREVISIONNEL()
    Dim dl&, i%, trouve As Range, m%, fc As Byte

    For fc = 1 To Sheets.Count
        If Sheets(fc).Name Like "FACT" & "*" Then
            If Sheets(fc).[a3] <> "" Then
                Sheets(fc).Range("a3:r" & Sheets(fc).Range("a" & Rows.Count).End(xlUp).Row).Clear
            End If
        End If
    Next
    dl = Feuil1.Range("a" & Rows.Count).End(xlUp).Row
    With Feuil1

        Set trouve = .Range("j2:j" & dl).Find("A", LookIn:=xlValues, lookat:=xlWhole)
        If Not trouve Is Nothing And trouve.Offset(0, 3) <> "" Then
            firstAddress = trouve.Address
            Do
                m = Feuil1.Range("m" & trouve.Row)
                Range(.Cells(trouve.Row, 1), .Cells(trouve.Row, 18)).Copy Sheets(m + 2).[A65536].End(xlUp).Offset(1, 0)
                Set trouve = .Range("j2:j" & dl).FindNext(trouve)
            Loop While Not trouve Is Nothing And trouve.Address <> firstAddress
        End If
    End With
End Sub

Remerciement partagé. @+

Oui désolée, la colonne "O" c'était dans le tableau que j'avais joint avant...

C'est bien la colonne M, on a changé l'ordre pour le tableau définitif.

Je finis par m'y perdre !!

Merci, bonne journée !

pareillement...

Rechercher des sujets similaires à "vba copie lignes conditions onglets"