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 :

enregistrer et garder le format des cellules [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut enregistrer et garder le format des cellules
    bonjours a tous je vous expose mon souci avec ce code:
    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
     
    Private Sub quitterprincipale_Click()
     
     
     
    For i = 15 To 40
    Sheets(Sheets.Count).Select
    Range("H" & i).Select
    ActiveCell.FormulaR1C1 = Range("h" & i).Value
    Range("I" & i).Select
    ActiveCell.FormulaR1C1 = Range("I" & i).Value
    Range("I41").Select
    ActiveCell.FormulaR1C1 = Range("I41").Value
     
    Next
     
     
     
    Range("H15:I40,I41:I42").Select
        Range("I41").Activate
        Selection.NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
     
    Application.Visible = True
    UserForm1.Hide
    Application.DisplayAlerts = False
      ActiveWorkbook.SaveAs Filename:="C:\Users\patrick\Desktop\Classeur14.xltm" _
                    , FileFormat:=xlOpenXMLTemplateMacroEnabled, Password:="", _
            WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
     
    ActiveWorkbook.Close
    End Sub
    en effet avant d'en arriver la j'ai instruis les cellules par un userform
    le code ci dessus me remet les cellules au format numerique et en "euros"
    mais quand je réouvre le classeur les cellules s'affichent

    comme ceci:€22,00

    au lieu de cela:22,00 €

    quelq'un pourais me dire pourquoi

    merci pour le coup de main
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

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

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour à tou(te)s

    essayes peut-etre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
    en rouge pour les négatifs ou ça tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.NumberFormat = "#,##0.00 $"
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("H15:I40,I41:I42")=format(Range("H15:I40,I41:I42"),"# ##0.00 €")
    bonne journée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut patricktoulon et le forum
    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
    Private Sub quitterprincipale_Click()
    Sheets(Sheets.Count).Select
    For i = 15 To 40
        Range("H" & i).FormulaR1C1 = Range("h" & i).Value
        Range("I" & i).FormulaR1C1 = Range("I" & i).Value
    Next
    Range("I41").FormulaR1C1 = Range("I41").Value
    Range("H15:I40,I41:I42").NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
    Application.Visible = True
    UserForm1.Hide
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:="C:\Users\patrick\Desktop\Classeur14.xltm" _
                    , FileFormat:=xlOpenXMLTemplateMacroEnabled
    ActiveWorkbook.Close
    End Sub
    Je verrais plus le code sous cette forme... quoique je ne le comprenne pas : copier la valeur en formule ??? Pourquoi ? La logique m'échappe.
    Sous la version 2003, je ne semble pas avoir ton problème, ce qui me fait penser que c'est la nature des valeurs qui induit le problème. Peux-tu la préciser ?

    Autre possibilité, ta version d'Excel ?
    J'ai testé la macro suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
    Dim x As Currency
    Dim y As Double
    x = 1000
    y = 1000
    [A1] = x
    [B1] = y
    Range("A1").FormulaR1C1 = Range("A1").Value
    Range("A1:B1").NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
    End Sub
    Quand on copie
    - X dans A1 => 1 000,00 € est affiché
    - Y dans B1 => 1000 est affiché
    Bien que A1 et B1 soit au format standard => ton erreur vient peut-être de là.
    A+

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    ok merci messieux
    je vais essayer vos modif

    mais je pense que le probleme vient pas du code de mise en forme des cellules
    puisque avant de quitter quand je regarde le feuillet obtenu c'est bon
    c'est quand je quitte et que je réouvre que ca ne va plus

    merci encore
    je reviens apres avoir essayé
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re:
    et bien non ca ne marche pas???!!!!
    j'ai toujours le meme probleme
    cela dit les deux exemples que vous m'avez donné fonctionnent eux aussi


    le probleme ce situe toujours a l'enregistrement je crois puisqu'il ne garde pas la mise enforme
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

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

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    j'ai déjà vu ce probleme en fonction des options excel, vérifier le séparateur de décimales "," ou ".", peut-etre.......
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re:
    bonjour a tous
    alors voila
    j'ai trouver le probleme
    effectivement j'avais recu des mise a jour de securité pour office (un sacré paquet en plus!!!!)
    j'ai donc suprimé une a une les mise a jour et je suis tombé sur la bonne

    c'etait le "kb 958939" qui me posait probleme je ne sais pas pourquoi mai j'ai envoyé le rapport d'erreur a microsoft peut etre qu'il me donnera la raison et la solution
    en attendant je l'ai enlevé et ca marche je n'ai plus le probleme

    en fermant le signe "€" est bien a sa place

    voila si d'autre ont le meme probleme c'est peut-etre un indice

    si sa peut servir.....


    merci a plus
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

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

Discussions similaires

  1. [Pilotage d'Excel]Comment définir les formats des cellules
    Par Masmeta dans le forum Windows Forms
    Réponses: 1
    Dernier message: 03/04/2008, 18h34
  2. Contrôle du format des cellules dans Excel
    Par Flashget dans le forum MATLAB
    Réponses: 4
    Dernier message: 20/03/2007, 14h37
  3. types de format des cellules sur Excel
    Par magictom42 dans le forum Access
    Réponses: 3
    Dernier message: 03/01/2007, 15h43
  4. Formater des cellules excel en format nombre
    Par _developpeur_ dans le forum Access
    Réponses: 7
    Dernier message: 09/01/2006, 14h13
  5. Format des cellules en Ole Excel
    Par kurul1 dans le forum C++Builder
    Réponses: 9
    Dernier message: 05/04/2005, 16h20

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