Format cellule

Résolu
Landoltp Messages postés 68 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 14 mars 2008 - 3 sept. 2007 à 17:55
Landoltp Messages postés 68 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 14 mars 2008 - 4 sept. 2007 à 17:40
Bonjour,

j'ai fait un code vba sur excel qui me rentre une nouvelle ligne à chaque fois que j'exécute le programme. mon problème c'est que les cellules ne prennent pas automatiquement le format souhaité, à savoir:
- nombre pour: montantpret, taux et nbreecheances
- date pour: datedeblocage

voici le code que j'ai fait:

Private Sub CmdOK_Click()

Dim Montantpret As Double
Dim Datedeblocage As Date
Dim Taux As Integer
Dim Remboursement As String
Dim Nbreecheances As Integer

Sheets("SGBBE").Select
ActiveSheet.[AA].Select
Selection.End(xlDown).Select
If Selection.Address = "$A$65536" Then
Range("AA").Offset(1, 0).Select
Else
Selection.Offset(1, 0).Select
End If
ActiveCell.Value = UserForm1.Montantpret
ActiveCell.Offset(0, 1).Value = UserForm1.Datedeblocage
ActiveCell.Offset(0, 2).Value = UserForm1.Taux
ActiveCell.Offset(0, 3).Value = UserForm1.Remboursement
ActiveCell.Offset(0, 4).Value = UserForm1.Nbreecheances
Unload Me

End Sub

je sais pas ce qu'il faut que je fasse, donc merci d'avance si quelqu'un pouvait m'aider... et c'est possible qu'il y ait automatiquement le signe % qui s'affiche après la valeur du taux?

8 réponses

tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
4 sept. 2007 à 17:32
ActiveCell.Value = UserForm1.Montantpret.value
ActiveCell.NumberFormat = "#,##0"
ActiveCell.Offset(0, 1).Value = UserForm1.Datedeblocage.value
ActiveCell.Offset(0, 1).NumberFormat = "dd.mm.yyyy"
ActiveCell.Offset(0, 2).Value = UserForm1.Taux.value
ActiveCell.Offset(0, 2).NumberFormat = "0.00%"
ActiveCell.Offset(0, 3).Value = UserForm1.Remboursement.value
ActiveCell.Offset(0, 4).Value = UserForm1.Nbreecheances.value
ActiveCell.Offset(0, 4).NumberFormat = "#,##0"

J'ai testé ça marche pour moi...

Tubafat
P
3
JM247L Messages postés 443 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 1 mars 2011 2
3 sept. 2007 à 17:58
Quand tu ajoutes une nouvelle ligne pourquoi ne pas faire un copier collage spéciale format de la ligne précédente

JML
 Partageons notre savoir et nos acquis
0
cs_etniqs Messages postés 201 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 10 mai 2016
3 sept. 2007 à 18:25
??
je ne vois pas où tu ajoutes une ligne dans ce code
???
0
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
4 sept. 2007 à 08:40
Bonjour,
si tu veux qu'il prenne automatiquement le format souhaité faudrait peut-être déjà lui dire le format souhaité...

Par exemple:
    ActiveCell.Value = UserForm1.Montantpret
    ActiveCell.NumberFormat = "0.00"
    ActiveCell.Offset(0, 1).Value = UserForm1.Datedeblocage
    ActiveCell.Offset(0, 1).NumberFormat = "m/d/yyyy"
...

De plus, fais attention où tu postes tes messages, il y a une section dédiée uniquement au VBA, penses-y la prochaine fois.

Tubafat
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Landoltp Messages postés 68 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 14 mars 2008
4 sept. 2007 à 10:13
ok merci bcp, ça joue pour le format de la date mais ai encore un problème pour celui des nombre...
0
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
4 sept. 2007 à 10:35
Peux-tu préciser ton problème pour les nombres?
C'est le format qui ne convient pas, ou ça ne fonctionne pas?

Tubafat
0
Landoltp Messages postés 68 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 14 mars 2008
4 sept. 2007 à 17:11
j'ai fait ça:

ActiveCell.Value = UserForm1.Montantpret
ActiveCell.NumberFormat = "#,##0"
ActiveCell.Offset(0, 1).Value = UserForm1.Datedeblocage
ActiveCell.Offset(0, 1).NumberFormat = "dd.mm.yyyy"
ActiveCell.Offset(0, 2).Value = UserForm1.Taux
ActiveCell.Offset(0, 2).NumberFormat = "0.00%"
ActiveCell.Offset(0, 3).Value = UserForm1.Remboursement
ActiveCell.Offset(0, 4).Value = UserForm1.Nbreecheances
ActiveCell.Offset(0, 4).NumberFormat = "#,##0"

celle pour la date c'est bon, le problème est que pour les 3 autres ça me met toujours la note "nombre stocké sous forme de texte" sous excel... j'arrive pas à trouver le problème.
merci de ton aide
0
Landoltp Messages postés 68 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 14 mars 2008
4 sept. 2007 à 17:40
ça marche, merci beaucoup
0
Rejoignez-nous