Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Garder mise en forme d'une variable en concatenation sous VBA

toinou1

XLDnaute Nouveau
Bonjour,

Je suis en train de me faire un code VBA pour incrementer des numero uniques (references) a chaque nouvelle ligne d'une table.

Mon seul probleme vient du fait que le format de la reference doit etre du style :

FA-0058-2011

Cependant, meme en mettant en forme la cellule de base qui sert de variable, je n'arrive pas a reproduire cette mise en forme dans la concatenation en VBA.

Je me retrouve avec

FA-58-2011

Le code est ci dessous, et vous trouverez un fichier exemple en piece jointe.

Comme je suis un gros newbie de VBA, il existe peut etre qqchose de tout bete, je n ai rien trouve sur le net.

Sub test2()
Dim Invoice_Ref
Dim Year
Dim Month
Sheets("Sheet3").Select
Invoice_Ref = Range("C7")
Year = Range("D7")
Month = Left(Range("E7"), 3)
Sheets("Sheet2").Select
Range("Table2").Select
ActiveCell.Offset(0, 1).Select
ActiveCell.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = "FA-" & Invoice_Ref & Year
Sheets("Sheet3").Select
Range("C7").Select
ActiveCell.Value = (ActiveCell.Value + 1)
Sheets("Sheet2").Select


End Sub


MERCI
 

Pièces jointes

  • essaisgrop.xlsm
    19.2 KB · Affichages: 107

Pierrot93

XLDnaute Barbatruc
Re : Garder mise en forme d'une variable en concatenation sous VBA

Bonjour,

petite remarque au passage, year et month sont déjà des fonctions natives de vba..; déconseillé de les utiliser compte nom de variable ou nom d'objet....

bonne soirée
@+
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Garder mise en forme d'une variable en concatenation sous VBA

Bonjour Toinou,

comme ceci:
ActiveCell.Value = "FA-" & Format(Invoice_Ref, "0000") & Year

à+
Philippe

Édit: Salut Pierrot
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Garder mise en forme d'une variable en concatenation sous VBA

Re,

il est possible également de remplacer les 4 dernières lignes de code par celle-ci:
Sheets("Sheet3").[C7] = Sheets("Sheet3").[C7] + 1

à+
Philippe
 

david84

XLDnaute Barbatruc
Re : Garder mise en forme d'une variable en concatenation sous VBA

Bonsoir,
peut-être comme ceci :
Code:
Sub test2()
Dim Invoice_Ref
Dim Year
Dim Month
Sheets("Sheet3").Select
Invoice_Ref = Range("C7")
Year = Range("D7")
Month = Left(Range("E7"), 3)
Sheets("Sheet2").Select
Range("Table2").Select
ActiveCell.Offset(0, 1).Select
ActiveCell.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = "FA-" & Format(Invoice_Ref, "0000") & "-" & Year
Sheets("Sheet3").Select
Range("C7").Select
ActiveCell.Value = (ActiveCell.Value + 1)
Sheets("Sheet2").Select
End Sub
A+
Edit : bonsoir Philippe
 

Discussions similaires

Réponses
2
Affichages
946
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…