1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| Sub copier()
'Quand on teste une macro, on ne met pas cette ligne, uniquement après
'que tout fonctionne bien
'On Error Resume Next
Dim a As Long
Dim b As Long
Dim c As String
Dim d As Long
Dim e As Long
'L'utilisateur ne saurra pas forcément le N° de la colonne
c = InputBox("Quel est le numéro de la colonne à copier? Exemple: colonne A,B,C etc.. ", "Copie des données", "A")
'Si colonne > Z il faut faire détections multiple
b = asc(Ucase(c))-64
Select Case b
Case 1 To 100
d = Cells(65536, b).End(xlUp).Row
e = 2
Do While e <> d
Select Case Cells(e, b).Value
Case ""
Cells(e, b).Select
Selection.Delete
d = Cells(65536, b).End(xlUp).Row
e = e - 1
Case Else
e = e + 1
End Select
Loop
a = 2
Do While ActiveSheet.Cells(a, b).Value <> ""
a = a + 1
Loop
ActiveSheet.Range(Cells(2, b), Cells(a - 1, b)).Select
Selection.Copy
If MsgBox("Voulez-vous copier sur la colonne <C>", vbYesNo, "Copie colonne" & b) = vbYes Then
Range("C2").Select
ActiveSheet.Paste
End If
Case Else
Exit Sub
End Select
End Sub |
Partager