Couper/Coller ligne sous condition

Bonjour à tous,

Je fais mes débuts sur ce forum car je n'arrive pas à trouver un code pour ce que je souhaite.

Il me faudrait un code me permettant de déplacer les lignes de la partie Achats si celle-ci comporte la mention "interim" en colonne F pour les remonter dans la partie Main d'oeuvre (Cf Fichier joint).

Si vous avez des idées, je suis preneur.

Merci d'avance.

31test-boucle-2.xlsm (29.56 Ko)

Salut Lolo,

voici une première mouture de ton fichier avec mon petit bouton rouge habituel à cliquer en colonne F (Achats).

Si, comme je l'imagine, tu as d'autres critères pour faire remonter tes lignes, explique-nous cela. Il faudra alors passer par une InputBox pour passer les critères!

Rien de bien méchant!

Bon travail!

A+

74interim.xlsm (36.38 Ko)

Bonjour Curulis57,

Super merci beaucoup, c'est ce que je voulais faire à un détail près. Tu me les transposes en valeur. Du coup, ma somme en colonne V, ne s'applique plus. J'ai essayé de remplacer le .Value mais cela ne fonctionne pas non plus.

Sinon dans l'immédiat, je n'aurai pas d'autres critères à ajouter mais cela m’interpelle. Alors si tu pouvais développé ton idée, je ne suis pas contre. Si ce n'est pas trop te demander ...

Merci à toi pour la rapidité de ta reponsé et bonne journée.

Salut lolo,

voici la rectification pour ta formule en V (à laquelle je n'avais pas fait attention ) ainsi que ma proposition de paramétrage de ta recherche pour suppression en ACHATS.

Une simple InputBox dans laquelle tu rentres l'item à rechercher, un "/" et la colonne de recherche.

Exemple : "interim/F"

Evidemment, l'efficacité de cette macro est tributaire de la stricte similitude (casse exclue) entre les items : intérim et interim ne seront jamais pareils pour un ordinateur sauf à barder le code de tests à la mesure de l'imagination orthographique des utilisateurs.

Vivent les listes de validation!

Private Sub cmdInterim_Click()
'
Dim rCel As Range
'
sFlag = InputBox("Encodez vos critères de recherche !" & Chr(10) & "Exemple: interim/F", "Recherche et suppression", "interim/F")
If sFlag = "" Or InStr(sFlag, "/") = 0 Then Exit Sub
sRec = Split(sFlag, "/")(0)
sCol = Split(sFlag, "/")(1)
'
Set rCel = Range("B:B").Find(what:="N° COMMANDE", lookat:=xlWhole, searchdirection:=xlNext)
iLig = Range("B" & rCel.Row - 3).End(xlUp).Row
'
For x = rCel.Row + 1 To Range("A" & Rows.Count).End(xlUp).Row
    If LCase(Cells(x, sCol)) = LCase(sRec) Then
        iLig = iLig + 1
        Range("A" & iLig & ":T" & iLig).Value = Range("A" & x & ":T" & x).Value
        Range("X" & iLig).Value = Range("X" & x).Value
        Range("A" & x & ":X" & x).Delete shift:=xlUp
        x = x - 1
    End If
Next
'
End Sub

Bon travail!

A+

Salut Curulis;

Merci beaucoup pour ces réponses, mes interrogations sont résolues.

Super efficacité.

Bonne journée.

Rechercher des sujets similaires à "couper coller ligne condition"