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 :

Petite question sur Format personalisé


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2013
    Messages : 75
    Points : 51
    Points
    51
    Par défaut Petite question sur Format personalisé
    Bonjour,

    j'utilise ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cellule.NumberFormat = "+# ##0;-# ##0"
    pour faire un format personnalisé mais j'ai un problème avec les gestion signe du zéro (0).
    Si dans la cellule je saisie le chiffre 0 il me met un + devant. J'aimerais que le zéro n'ait pas de signe.

    Merci de vos aides

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,

    Peut-être ce contournement avec l'évènement "Change" de la feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Worksheet_Change(ByVal Target As Range)
    'imaginons que les données sont en "C"
    If Target.Column = 3 Then
      If Target = 0 Then
        Target.NumberFormat = "0"
      Else
        Target.NumberFormat = "+# ##0;-# ##0"
      End If
    End If
    End Sub

  3. #3
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 656
    Points : 34 354
    Points
    34 354
    Par défaut
    Salut,

    la fonction Format accepte jusqu'à 4 plages de valeurs
    http://jpcheck.developpez.com/tutori...-vba/#LII-a-ii
    Format(valeur,"FormatSiPositif;FormatSiNegatif;Formatsi0")

  4. #4
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Merci jp, j'étais dans l'ignorance

    bonne journée

  5. #5
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2013
    Messages : 75
    Points : 51
    Points
    51
    Par défaut
    merci pour vos réponse pertinentes.
    En fait jai un soucis car si une cellule contient 0 au moment de l'exécution de la macro, après l'éxécution si je change la valeur de la cellule en mettant un nombre positif alors le signe de celui ci n'apparait pas. Je veux que les signes apparaissent (sauf pour le zéro) quelque soit le contenu de la cellule au départ. Et en plus j'ai fai un jeux de couleur et ici aussi pareil, après l'éxécution de la macro si je remplace la valeur d'une cellule par 0, ce 0 est de la couleur de la valeur qu'il remplace.
    voici ce que j'utilise:
    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
    With Selection.FormatConditions _
            .Add(xlCellValue, xlGreater, 0)
     
        With .Font
            .ColorIndex = 10
        End With
     
    End With
    With Selection.FormatConditions _
            .Add(xlCellValue, xlLess, 0)
     
        With .Font
            .ColorIndex = 3
        End With
     
    End With

  6. #6
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 523
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 523
    Points : 16 459
    Points
    16 459
    Par défaut
    Bonjour

    Si tu lis la réponse de jpcheck tu dois mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cellule.NumberFormat = "+# ##0;-# ##0;# ##0
    Si le format de nombre et la MFC sont correctement définis, cela doit marcher tout seul quand tu modifies une valeur.

  7. #7
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    ou tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cellule.NumberFormat = "+# ##0;-# ##0;0"

  8. #8
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 523
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 523
    Points : 16 459
    Points
    16 459
    Par défaut
    Re

    Oui bien sûr, où avais-je la tête

Discussions similaires

  1. Petite question sur le format DATE
    Par Wizard50 dans le forum SQL
    Réponses: 4
    Dernier message: 18/01/2010, 13h53
  2. petite question sur le format des dates
    Par sherdogvdb dans le forum Forms
    Réponses: 4
    Dernier message: 08/03/2007, 11h14
  3. [Visuel XP] Petite question sur le theme XP...
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 12
    Dernier message: 20/01/2005, 15h41
  4. Réponses: 3
    Dernier message: 08/12/2004, 14h58
  5. Petite question sur les performances de Postgres ...
    Par cb44 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 14h49

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