Texte avec variable dans une case excel macro

Fermé
mister-t - 17 mars 2009 à 09:59
BuenoVista Messages postés 13 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 22 octobre 2016 - 17 mars 2009 à 10:40
Bonjour,

j'ai un petit probleme concenrant une ligne de macro

je voudrais que la case concernée soit rempli par un texte du genre: MA-2009031701
avec 2009 l'annee (variable annee)
avec 03 le mois (variable mois)
avec 17 le jours (variable jours)
avec 01 un chiffre

j' ai ecris ça :

wbk2.sheets("sheet1").range("A1").value= "MA-" & annee & mois & jours & "01"

mais ça m'ecrit:

MA-0120090317

le 01 est avant les variable

un petit coup de main

merci pour les reponses futures
A voir également:

1 réponse

BuenoVista Messages postés 13 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 22 octobre 2016 2
17 mars 2009 à 10:40
J'ai Vista & Office 2007. Pour ma part, j'obtiens MA-200931701 en B4 avec l'instruction suivante :

Range("B4").Value = "MA-" & Year(Date) & Month(Date) & Day(Date) & "01"

Evidemment, il s'agit de la date courante.
Seul problème: ça ne me met pas un zéro devant le chiffre du mois si le nombre correspondant est inférieur à 10. Mais ça peut se bricoler facilement en Basic classique :

Dim X1, X2 As String
X1 = LTrim(Str(Month(Date))): If Month(Date) < 10 Then X1 = "0" + X1
X2 = LTrim(Str(Day(Date))): If Day(Date) < 10 Then X2 = "0" + X2
Range("B4").Value = "MA-" & Year(Date) & X1 & X2 & "01"

Je l'ai testé et ça marche et j'obtiens bien MA-2009031701. Bien sûr, c'est un tantinet bourrin et je pense qu'il existe des solutions plus élégantes mais le résultat est là...
0