Comment appliquer par VBA une formule à une colonne

pralinet

XLDnaute Nouveau
Bonjour à tous,

je cherche une solution VBA pour faire l'équivalent de ce qui suit:

En A1 j'ai 1
En A2 j'ai 31
En A3 j'ai 6

Par excel j'applique de B1 à B3 la formule suivante:

B1= droite(concatener("00000000";A1);8)
B2= droite(concatener("00000000";A2);8)
B3= droite(concatener("00000000";A3);8)

il s'agit donc de créer en colonne B, le complément de la colonne A par des 0 significatifs jusqu'à concurrence de 8 caractères pour obtenir:

1 00000001
31 00000031
6 00000006

1ère question: comment faire la même chose par VBA ?
2ème question: est il possible d'appliquer directement la macro en colonne A sans avoir à créer la colonne B (une sorte de collage spécial par forçage de valeur) ?

Merci de vos lumières.
Bien à vous.

Pralinet
 

fhoest

XLDnaute Accro
Re : Comment appliquer par VBA une formule à une colonne

bonjour pralinet
pour le code vba si tu connais un peu
sub test()
dim nbre_de_zero as string
nbre_de_zero="00000000"
range("a1).text=range("a1").text & nbre_de_zero & range("a1").text
end sub
la meme chose pour les autres cellules
A+
 

Fo_rum

XLDnaute Accro
Re : Comment appliquer par VBA une formule à une colonne

salut

j'ai cru comprendre que le nombre de 0 dépendait du nombre de chiffres.
Dans ce cas, voici une une macro évènementielle qui transforme le nombre de moins de 9 chiffres saisi.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  On Error Resume Next  'sélection de plus d'une cellule
  If Target.Column = 1 Then
    l = Len(Target)
    If Not IsNumeric(Target) Or l = 0 Or l > 7 Then
      Application.EnableEvents = False
      Target = ""
      Application.EnableEvents = True
      End
    Else
      Application.EnableEvents = False
      Target.NumberFormat = "@"
      Target = Application.WorksheetFunction.Rept("0", 8 - l) & Target
      Application.EnableEvents = True
    End If
  End If
End Sub

Attention aux formats !
 

Pièces jointes

  • Format(0 0).zip
    5 KB · Affichages: 96

Xlcium

XLDnaute Nouveau
Re : Comment appliquer par VBA une formule à une colonne

Bonjour,

Je me permets d'ajouter un post à ce fil car j'ai un problème similaire sauf que ce ne doit pas être de l'événementiel.

J'ai une colonne avec une liste de valeur, je veux parcourir cette colonne et tester si la longueur est 8.
Si ce n'est pas 8 alors on applique les zéros devant "le nombre lu".

cf mon post un "peu long" ci dessous avec un fichier exemple:

https://www.excel-downloads.com/thr...ayage-de-toutes-les-lignes-du-fichier.181342/


D'avance, merci beaucoup pour votre aide.
 

Discussions similaires

Réponses
5
Affichages
223

Statistiques des forums

Discussions
312 166
Messages
2 085 898
Membres
103 022
dernier inscrit
Ouékino