Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1712 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Pb exportation de données vers feuille excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pb exportation de données vers feuille excel

n°2048017
pottok64
Posté le 11-01-2011 à 08:59:49  profilanswer
 

Bonjour,
 
Je suis débutante en programmation, je dois faire un petit calculateur de bilan carbone pour un logement sous excel.
Le calcul se fait bien par contre, au moment de l'exportation des résultats vers une feuille excel, il y a un problème: certaines valeurs ne sont plus sous forme décimale et je n'arrive pas à voir d'où ça vient!
Ce sont les valeurs en TEP et en tonne de CO2 qui posent problème.
 
 
Voici mon code si qqn peut m'aider
Merci!
 


Private Sub CommandButton1_Click()
'declaration des variables
 
Dim GPL, Essence, Fioul, Géothermique, Nucléaire, Fossile, Gaz, Bois As String
 
'Vérification du format de la valeur rentré
 
 
'équivalence variable et données entrées
 
GPL = TextBox1.Value * 1.095
Essence = TextBox2.Value * 1.048
Fioul = TextBox3.Value * 0.952
Géothermique = TextBox4.Value * 0.86
Nucléaire = TextBox5.Value * 0.261
Fossile = TextBox6.Value * 0.086
Gaz = TextBox7.Value * 0.077
Bois = TextBox8.Value * 0.147
 
 
'calcul de la valeur en TEP
 
    Label19.Caption = (GPL + Essence + Fioul + Géothermique + Nucléaire + Fossile + Gaz + Bois)
     
'calcul de la valeur en tonne de CO2
 
    Label20.Caption = Label19 * 2.25
     
'calcul de la valeur en arbre pour compenser
 
    Label21.Caption = Label20 / (25 * 10 ^ -3)
     
End Sub
 
Private Sub Export_Click() 'Export dans la feuille excel (valeur calculée)
 
 ' valeur en TEP
 
     
    ActiveCell.Value = Label18
               
    ActiveCell.Offset(0, 1) = Label19.Caption
    ActiveCell.Offset(1, 0).Select
   
     
     
'valeur en tonne de CO2
     
    ActiveCell.Value = Label17
     
    ActiveCell.Offset(0, 1) = Label20.Caption
    ActiveCell.Offset(1, 0).Select
     
 ' valeur en arbre pour compenser
 
    ActiveCell.Value = Label16
     
    ActiveCell.Offset(0, 1) = Label21.Caption
    ActiveCell.Offset(1, 0).Select
     
End Sub
 
Private Sub TextBox8_Change()
 
End Sub
 
Private Sub UserForm_Click()
 
End Sub


 
 
La question subsidiaire :
Je veux que qd j'exporte mes données, les cases de resultats soient colorées, sauf que comme le resultat est exporté aléatoirement (en fonction de là où clic la personne) je ne sais pas faire, nous on sait colorer une case que l'on connait.
Une idée la dessus ?


Message édité par pottok64 le 11-01-2011 à 09:11:22
mood
Publicité
Posté le 11-01-2011 à 08:59:49  profilanswer
 

n°2048434
mcdx
Posté le 12-01-2011 à 15:23:07  profilanswer
 

Bonjour
 
La premier chose qui est étonnante est L’utilisations des chaines de Char (String) pour stoker des valeurs numérique.
 
Mais si comme il est indiquée dans le post << au moment de l'exportation des résultats vers une feuille excel>> il y a un problème de format (et uniquement a ce moment) le code ci-dessous donnera des exemples de formatage :
 
Private Sub Export_Click()  'Export dans la feuille excel (valeur calculée)
 
'Sélection de la cellule active sur la feuille active
  With ActiveCell
' -> Valeur en TEP
 
    'Traitement premiere cellule
    .NumberFormat = "0.00E+00"  'Pour Nombre scientifique (a adapter suivant contenu de Label18)
    .Font.Bold = True    'Pour texte en gras
    .Font.ColorIndex = 44 'Pour changer couleur texte
    .Value = Label18
    .Interior.ColorIndex = 50  'Change la couleur de fond de la cellule
                               '50 est l'index de la couleur dans la palette des 56 couleurs.
                               'Voir http://www.mvps.org/dmcritchie/excel/colors.htm (entre autre)
     
    'Traitement cellule colonne suivante
    With .Offset(0, 1)
      .NumberFormat = "@"  'Pour format texte (.Caption est un texte ?)
      .Value = Label19.Caption
      .Interior.ColorIndex = 3 'Change couleur fond
    End With
     
' -> Valeur en tonne de CO2
    'Traitement cellule Ligne suivante
    With .Offset(1, 0)       'Ici Pas de modification de format dans cette exemple
                             ' En Fait toutes les modif de format peuvent etre intégrée
                             ' dans les bloc With (Pour chaque cellule)
      .Value = Label17
    End With
     
    'Traitement cellule colonne suivante
    With .Offset(1, 1)
      .Value = Label20.Caption
    End With
 
' -> Valeur en arbre pour compenser
    'Traitement cellule Ligne suivante
    With .Offset(2, 0)
      .Value = Label16
      .NumberFormat = "0.00" ' (2 digit apres virgule)
    End With
     
    'Traitement cellule colonne suivante
    With .Offset(2, 1)
      .Value = Label21.Caption
    End With
    ' selectionne cellule suivante
    .Offset(3, 0).Select
  End With
End Sub
 
Mcdx


Message édité par mcdx le 12-01-2011 à 15:32:27
n°2048435
mcdx
Posté le 12-01-2011 à 15:28:13  profilanswer
 

Si le pb persite sur le calcul a base de string. Il faut utiliser des variables intermediaires du bon type et les fonctions de convertion.
 
Bon Calcul de TEP :sol:  
 
Mcdx


Message édité par mcdx le 12-01-2011 à 15:38:43
n°2049357
pottok64
Posté le 15-01-2011 à 19:37:40  profilanswer
 

Je vais tester tout ca merci beaucoup !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Pb exportation de données vers feuille excel

 

Sujets relatifs
Prgm VBA et ou Excel - RechercheV ... recherche du nom le plus longVBA Excel 2003 colorier cellule RGB
VBA Excel : récupérer des termes de l'instruction[VBA - Excel] Vlookup vers un autre fichier
Exporter documentation Doxygen vers un wiki PHP ?EJB et persistance des données : bonnes pratiques
Req sur 3 fichiers Excel - Comment s'utilise RechercheV en VBA svp ?[RESOLU]UTF-8 vers ISO-8859-1 AJAX - XMLHTTP
Convertir un tableau en liste de données VBA sous Excel 
Plus de sujets relatifs à : Pb exportation de données vers feuille excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR