Sub Macro1()
'Macro à utiliser si données texte en colonne B
Columns("B:B").SpecialCells(xlCellTypeConstants, 2).Copy
Cells(Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=True
End Sub
Sub Macro2()
'Macro à utiliser si données numériques en colonne B
Columns("B:B").SpecialCells(xlCellTypeConstants, 1).Copy
Cells(Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=True
End Sub
Sub Macro3()
Dim DerLigne As Long
DerLigne = Cells(Rows.Count, 2).End(xlUp).Row
Range(Cells(1, 3), Cells(DerLigne, 3)).FormulaR1C1 = "=IF(RC[-1]<>"""",""X"",0)"
Columns("C:C").SpecialCells(xlCellTypeFormulas, 2).Offset(, -1).Copy
Cells(Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteAll, SkipBlanks:=True
Application.CutCopyMode = False
Columns("B:C").Delete
End Sub
Bonjour le forum
Tel que j'ai compris le problème décris, voici deux macros
VB:Sub Macro1() 'Macro à utiliser si données texte en colonne B Columns("B:B").SpecialCells(xlCellTypeConstants, 2).Copy Cells(Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=True End Sub Sub Macro2() 'Macro à utiliser si données numériques en colonne B Columns("B:B").SpecialCells(xlCellTypeConstants, 1).Copy Cells(Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=True End Sub
Sub Macro2()
Dim ligne As Long, Compteur As Long
ligne = Cells(Rows.Count, 1).End(xlUp).Row
For ligne = 2 To ligne
Cells(ligne, 1).Resize(, 3).Copy
Compteur = Cells(Rows.Count, "F").End(xlUp).Row + 1
Cells(Rows.Count, "F").End(xlUp).Offset(1).PasteSpecial Paste:=xlValues, SkipBlanks:=True, Transpose:=True
Cells(Compteur, "G") = Cells(ligne, 4)
Compteur = Compteur + 1
Next
With Range(Cells(2, "G"), Cells(Compteur - 1, "G"))
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
.Value = .Value
End With
Range("G2").CurrentRegion.Cut Cells(ligne + 2, 1)
End Sub