rounil09
XLDnaute Occasionnel
Bonsoir le forum,
Malgré mes essais je n'arrive pas à me sortir d'une macro.
Elle fonctionne correctement, mais s'arrête dès que la première valeur égale à la cellule "A3" a été trouvée et copiée (avec les cellules adjacentes).
Malgré le "Next" , la boucle ne continue pas.
Comment faut-il modifier cette macro pour rendre la boucle opérationnelle ?
Sub INTERROCE2()
Dim Cell As Range
Dim TopCell As Range
Dim BottomCell As Range
Sheets("Liste_EP").Select
For Each Cell In Range("I2:I100000")
If Cell.Value = Range("A3").Value Then
Cell.Activate
'Sélectionner les cellules pleines de la ligne, les copier
If IsEmpty(ActiveCell.Offset(-1, 0)) Then Set TopCell = ActiveCell Else Set TopCell = ActiveCell.End(xlToLeft)
If IsEmpty(ActiveCell.Offset(1, 0)) Then Set BottomCell = ActiveCell Else Set BottomCell = ActiveCell.End(xlToRight)
Range(TopCell, BottomCell).Select
Selection.Copy
Sheets("BD_CE").Select
'Se caler dernière cellule vide de la colonne A,coller la sélection
Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.Goto reference:=Range("A1"), Scroll:=True
End If
Next
End Sub
Malgré mes essais je n'arrive pas à me sortir d'une macro.
Elle fonctionne correctement, mais s'arrête dès que la première valeur égale à la cellule "A3" a été trouvée et copiée (avec les cellules adjacentes).
Malgré le "Next" , la boucle ne continue pas.
Comment faut-il modifier cette macro pour rendre la boucle opérationnelle ?
Sub INTERROCE2()
Dim Cell As Range
Dim TopCell As Range
Dim BottomCell As Range
Sheets("Liste_EP").Select
For Each Cell In Range("I2:I100000")
If Cell.Value = Range("A3").Value Then
Cell.Activate
'Sélectionner les cellules pleines de la ligne, les copier
If IsEmpty(ActiveCell.Offset(-1, 0)) Then Set TopCell = ActiveCell Else Set TopCell = ActiveCell.End(xlToLeft)
If IsEmpty(ActiveCell.Offset(1, 0)) Then Set BottomCell = ActiveCell Else Set BottomCell = ActiveCell.End(xlToRight)
Range(TopCell, BottomCell).Select
Selection.Copy
Sheets("BD_CE").Select
'Se caler dernière cellule vide de la colonne A,coller la sélection
Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.Goto reference:=Range("A1"), Scroll:=True
End If
Next
End Sub