Boucle VBA: recherche cellules "jaunes" et déplacements de colonne

Bonjour, très fraichement débutante en macros excel j'essaie de créer une macro en VBA qui sur une liste de données de 2 colonnes (colE + colF), recherche les cellules fond jaune "65535" et les déplace de 4 colonnes (même ligne Cut: col E et colF pour Paste colA +colB même ligne). j'ai essayé le code suivant pour voir si ca marche sur une colonne et cellule mais je n'arrive pas a créer la "boucle" pour que cela se produise sur les 2 colonnes et ce a chaque cellule jaune rencontré jusqu'a ce que toutes les cellules jaunes aient été déplacées.

Je suis completement perdueee

Dim Cel As Range
Dim Plage As Range
With Sheets("MeF_VT")
    .Activate
    Set Plage = .Range("E3:E" & .Range("E1048576").End(xlUp).Row)
     For Each Cel In Plage
           If Cel.Interior.ColorIndex = 65535 Then
          Cel.Select
     Exit Sub
End If
    Next
     Range("E3").Select
End With

Selection.Cut
      ActiveCell.Offset(0, -4).Select
      ActiveSheet.Paste

End Sub

Avec le fichier excel c'est mieux :)

Bonjour,

J'avais fait ceci avant que vous ne déposiez le fichier, faites les essais et dites-moi si cela vous convient:

Sub Deplacer()
    Dim Cel As Range
    Dim Plage As String
    Dim DerLig As Long, i As Long
    Dim Sh As Worksheet
    Application.ScreenUpdating = False 'Evite le rafraichissement de l'affichage et augmente la vitesse d'exécution
    Set Sh = Sheets("MeF_VT") 'affecte la variable Sh à la feuille "MeF_VT"
    For i = 1 To 2 ' pour 2 passages
        If i = 1 Then Col = "E" Else Col = "F" 'suivant la valeur de i, on affecte le nom de la colonne à tester
        With Sh
            DerLig = Range(Col & Rows.Count).End(xlUp).Row 'Recherche de la dernière ligne de la colonne traitée
            Plage = Col & "3:" & Col & DerLig 'Plage de recherche
            For Each Cel In .Range(Plage) 'pour chaque cellule de la plage de recherche
                If Cel.Interior.Color = RGB(255, 255, 0) Then ' si la couleur de fond est jaune
                    .Cells(Cel.Row, Col).Copy .Cells(Cel.Row, i) 'copie de la cellule dans la colonne de destination
                    .Cells(Cel.Row, Col).Clear 'efface le contenu de la cellule de la colonne traitée
                End If
            Next 'boucle
        End With
    Next i 'boucle pour passer à la colonne suivante
    Set Sh = Nothing 'Libération de la mémoire
End Sub

Cdlt

Waouhhhhhhh merci vous m'avez sauvé!!

Ca marche parfaitement!! et a une vitesse halucinante

Et le "Application.ScreenUpdating = False ' je peux même l'utiliser pour mes autres macros "très manuelles" car je vois les mises a jour se faire à l'ecran!

Merci merci infiniment

Rechercher des sujets similaires à "boucle vba recherche jaunes deplacements colonne"