je voudrais écrire une macro équivalente à une formule du type:
=A1&REPT(".";20-NBCAR(A1))
En clair, cette formule copie la cellule A1 et ajoute un certain nombre de points dont l'opération est 20 soustrait au
nombre de caractères en A1. Par exemple,
En A1, 14859327 --> il y a 8 caractères
J'applique la formule en C1, ça fait 14859327............ --> il y a 12 points car 20 - 8 = 12
J'ai commencé une macro qui, pour l'instant, copie et colle une colonne de données:
Sub tetetest()
Dim n As Long
n = Range("A65536").End(xlUp).Row
For x = 1 To n
Cells(x, 1).Copy Destination:=Cells(x, 3) [& REPT(".";20-NBCAR(A))]
Next
End Sub
quel code VBA faut-il écrire pour remplacer la partie en rouge ?
For x = 1 To n
Cells(x, 3) = left(Cells(x, 1) & "....................................",20)
Next
au vu du fichier voici la macro
Sub point()
Dim i As Long
For i = 1 To Range("A65536").End(xlUp).Row
Cells(i, 3) = Left(Cells(i, 1) & ".........................................", 20)
Next i
End Sub
ça marche avec n'importe quel caractère mais pas avec les espaces, la macro les compte pas.
ce qui fait que toutes mes données sont collées à droite comme sur la colonne A.
Sub point()
Dim i As Long
For i = 1 To Range("A65536").End(xlUp).Row
Cells(i, 3) = Cells(i, 1)
Cells(i, 3).NumberFormat = "@"
Cells(i, 3) = Left(Cells(i, 1) & " A", 20)
Next i
End Sub