Texte avec variable dans une case excel macro
mister-t
-
BuenoVista Messages postés 15 Statut Membre -
BuenoVista Messages postés 15 Statut Membre -
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
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:
- Texte avec variable dans une case excel macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Excel cellule couleur si condition texte - Guide
- Word et excel gratuit - Guide
1 réponse
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à...
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à...