IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

VBA: Formater une variable numérique [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 74
    Par défaut VBA: Formater une variable numérique
    Bonjour,

    Je déclare dans mon code, des variables en entier pour ensuite les faire apparaitre en commentaire de cellule
    Nom : Capture.PNG
Affichages : 276
Taille : 3,5 Ko

    Mais comme ces variables sont le résultat de calcul, j'obtiens un chiffre avec plusieurs décimales après la virgule et je souhaiterai en faire apparaître aucune.

    J'ai essayé ça mais ca ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Inv.Sheets(1).Cells(cpt1, cpt2 + 1).AddComment
              Inv.Sheets(1).Cells(cpt1, cpt2 + 1).Comment.Visible = False
              Inv.Sheets(1).Cells(cpt1, cpt2 + 1).Comment.Text Text:="" & Chr(10) & ptr1 & " uvc à risque 240j   " & ptr2 & " uvc à risque 190j   " & ptr3 & " uvc à risque 90"
              Inv.Sheets(1).Cells(cpt1, cpt2 + 1).Comment.Select
              Selection.NumberFormat = "0"
    Pourriez-vous m'aider svp.

    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonjour,
    j'ai rien compris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Inv.Sheets(1).Cells(cpt1, cpt2 + 1).Comment.Text Text:="" & Chr(10) & cint( ptr1 )& " uvc à risque 240j   " & cint( ptr2) & " uvc à risque 190j   " & cint(ptr3) & " uvc à risque 90"

  3. #3
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 74
    Par défaut
    C'est un commentaire qui affiche 3 résultats différents selon le type de risque (en nombre de jour)

    tu comprendra peut-etre mieux comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    Dim ptr, prt1, ptr2, ptr3 As Double
        Dim Inv As Workbook
        Dim NvlDte As Date 'date
        Dim Dtefvie As Date '
        Dim JrFinStk As Double ' nbre de jour pour épuiser le stock
        Dim stk As Double 'nbre de produit en stock
        Dim VLM As Double 'nbre de produit vendus
     
     Do
            stk = Inv.Sheets(1).Cells(cpt1, cpt2 + 1).Value
            JrFinStk = (stk * 30) / VLM 'nombre de jour de stock pour cette palette
            NvlDte = NvlDte + JrFinStk 'date à laquelle le stock s'épuisera
            ptr1 = 0
            ptr2 = 0
            ptr3 = 0
            'ptr1.NumberFormat = "0"
     
           Dtefvie = CDate(Format(Inv.Sheets(1).Cells(cpt1, cpt2).Value, "0000-00") & "-01")
     
           If Dtefvie - 240 <= NvlDte Then
              Inv.Sheets(1).Range("W" & cpt1).Value = "Risque Casse"
              ptr1 = (NvlDte - (Dtefvie - 240)) * (VLM / 30)
              Inv.Sheets(1).Cells(cpt1, cpt2 + 1).AddComment
              Inv.Sheets(1).Cells(cpt1, cpt2 + 1).Comment.Visible = False
              Inv.Sheets(1).Cells(cpt1, cpt2 + 1).Comment.Text Text:="" & Chr(10) & ptr1 & " uvc à risque 240j   " & ptr2 & " uvc à risque 190j   " & ptr3 & " uvc à risque 90"
              Inv.Sheets(1).Cells(cpt1, cpt2 + 1).Comment.Select
              Selection.NumberFormat = "0"
             Else: If Inv.Sheets(1).Range("W" & cpt1).Value = "" Then Inv.Sheets(1).Range("W" & cpt1).Value = "OK"
           End If
     
     
           If Dtefvie - 180 <= NvlDte Then
              Inv.Sheets(1).Range("X" & cpt1).Value = "Risque Casse"
              ptr2 = (NvlDte - (Dtefvie - 180)) * (VLM / 30)
              'Inv.Sheets(1).Cells(cpt1, cpt2 + 1).AddComment
             ' Inv.Sheets(1).Cells(cpt1, cpt2 + 1).Comment.Visible = False
              Inv.Sheets(1).Cells(cpt1, cpt2 + 1).Comment.Text Text:="" & Chr(10) & ptr1 & " uvc à risque 240j   " & ptr2 & " uvc à risque 190j   " & ptr3 & " uvc à risque 90"
              Inv.Sheets(1).Cells(cpt1, cpt2 + 1).Comment.Select
              Selection.NumberFormat = "0"
             Else: If Inv.Sheets(1).Range("X" & cpt1).Value = "" Then Inv.Sheets(1).Range("X" & cpt1).Value = "OK"
           End If
     
     
           If Dtefvie - 90 <= NvlDte Then
               Inv.Sheets(1).Range("Y" & cpt1).Value = "Risque Casse"
               ptr3 = (NvlDte - (Dtefvie - 90)) * (VLM / 30)
             ' Inv.Sheets(1).Cells(cpt1, cpt2 + 1).AddComment
             ' Inv.Sheets(1).Cells(cpt1, cpt2 + 1).Comment.Visible = False
               Inv.Sheets(1).Cells(cpt1, cpt2 + 1).Comment.Text Text:="" & Chr(10) & ptr1 & " uvc à risque 240j   " & ptr2 & " uvc à risque 190j   " & ptr3 & " uvc à risque 90"
               Inv.Sheets(1).Cells(cpt1, cpt2 + 1).Comment.Select
              Selection.NumberFormat = "0"
             Else: If Inv.Sheets(1).Range("Y" & cpt1).Value = "" Then Inv.Sheets(1).Range("Y" & cpt1).Value = "OK"
           End If
     
           cpt2 = cpt2 + 2
     
        Loop While Inv.Sheets(1).Cells(cpt1, cpt2) <> ""

  4. #4
    Invité
    Invité(e)
    Par défaut
    oui ok, m'a réponse plus haut est donc valable!

  5. #5
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 74
    Par défaut
    Magnifique ! Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/04/2014, 17h12
  2. 2003 VBA: Evaluer une variable dans OpenForm
    Par Jean_Benoit dans le forum Access
    Réponses: 3
    Dernier message: 24/02/2007, 23h01
  3. Réponses: 3
    Dernier message: 09/04/2006, 09h10
  4. [VBA]Passer une variable dans une formule Excel
    Par David1974 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/01/2006, 16h52
  5. [VBA excel] une variable pour 2 classeurs
    Par totoche dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/01/2006, 09h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo