XL 2013 Extension macro a plusieurs lignes

altra83

XLDnaute Nouveau
Bonjour !

Je reviens vers vous car je n'arrive pas a faire quelque chose qui, je pense, ne doit pas être très compliqué :x

Il y a quelques jours, j'ai fais une demande sur ce forum pour une macro qui decale les cellules d'une ligne par rapport a une autre ([MACRO 1] ici, supprime "pomme" en L1, car = à G1 et decale les autres fruit pour que R1 soit vide)

Le problème, c'est que ça ne marche que sur une ligne, et j'aimerai avoir la même macro mais qui me ferait le travail sur toutes les lignes (suppression + décalage lorsque doublon, en un clic, chaque ligne étant indépendante l'une de l'autre, j'aimerai aussi si possible que cela s'applique a toutes les lignes, vu que je compte rajouter regulierement des lignes dans le tableau qui sera concerné par cette macro), exactement comme la [macro 1]

Je vous remercie encore une fois d'avance :D
 

Pièces jointes

  • Aide forum.xlsm
    13.9 KB · Affichages: 38

Joël GARBE

XLDnaute Nouveau
Re,

Ajoute une boucle à la macro... et adapte le reste...
Code:
Sub decalage_WL_TEST()
Dim i As Long
For i = 1 To 8
  Set c = Range("I" & i & ":" & Cells(i, Columns.Count).End(xlToLeft).Offset(0, 1).Address).Find(Range("G" & i), LookIn:=xlValues, lookat:=xlWhole)
  If Not c Is Nothing Then
     For n = c.Column To Cells(i, Columns.Count).End(xlToLeft).Column Step 2
        Cells(i, n) = Cells(i, n + 2)
     Next
  End If
Next
End Sub
 

pierrejean

XLDnaute Barbatruc
Re
Mon code:

Code:
Sub test()
For m = 1 To Range("F" & Rows.Count).End(xlUp).Row
Set c = Range("I" & m & ":R" & m).Find(Range("G" & m), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
   For n = c.Column To 18 Step 2
   If n <> 18 Then
      Cells(m, n) = Cells(m, n + 2)
   Else
      Cells(m, n) = ""
   End If
   Next
End If
Next
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 300
Membres
103 173
dernier inscrit
Cerba95