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

Excel Discussion :

Problème avec mot cle FORMAT en VBA EXCEL


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Août 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2013
    Messages : 7
    Points : 9
    Points
    9
    Par défaut Problème avec mot cle FORMAT en VBA EXCEL
    bonjour
    j'ai recopier ces ligne de code sur le net

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'Mise en forme numéro de téléphone
    'les espaces sont ajoutés seulement quand on quitte la boite de texte
    Private Sub TextBox8_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox8 = Format(TextBox8, "0# ## ## ## ##")
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    'mise au format de la date
    Private Sub TextBox9_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    'optionnel : on réaffiche dans le textbox la date en forme longue
    TextBox9 = format(TextBox9, "dd mmmm yyyy")
    TextBox9 = StrConv(Format(Now, "dddd dd mmmm yyyy hh:mm:ss"), vbProperCase)
    End Sub
    sur le net le mot Format est écrit avec un "F" majuscule mais quand je valide le "F" se transforme en "f" minuscule donc c'est plus le mot clé VBA
    cela génère le message d'erreur suivant :
    "Erreur de compilation
    Nombre d'arguments incorrect ou affectation de propriété incorrecte"

    J'ai visité plusieurs forum et la syntaxe est toujours la même

    J'ai recherché dans l'aide (F1) mais pas trouver pourquoi ça ne marche pas rien compris sur la syntaxe de "FORMAT" alors je me tourne vers vous pour crier "Au Secours !!"

    Si quelqu'un peut m'aider j'en serais ravi

    Merci d'avance

  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 : 69
    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,

    que communiques-tu sur le forum, tes lignes copiées sur le Net ou ton propre code ? si ce sont les lignes copiées sur le net, envoies plutôt ce que tu as fait en n'oubliant pas les balises "#" autour du code.

    sinon, à ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TextBox8_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox8 = Format(TextBox8, "0# ## ## ## ##")
    End Sub
    je préfère celui-là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub TextBox8_Change()
    Dim Texte As String
    Texte = TextBox8.Text
    Select Case Len(Texte)
    Case 2, 5, 8, 11
    Texte = Texte & " "
    End Select
    TextBox8.Text = Texte
    qui te mettra en forme les numéros directement, mais tu choisis....
    Une dernière chose, quand j'ai recopié tes codes, je n'ai pas rencontré de problème
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur 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
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,
    Format doit avoir le F en majuscule.
    Format(arg1,arg2) doit avoir 2 arguments séparés par une virgule en VBA
    Le premier argument est l'élément à formater et le second argument est le format que l'on veut donner à l'argument 1 mais attention il doit être écrit entre " "
    Cordialement.

    RJ

  4. #4
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Août 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2013
    Messages : 7
    Points : 9
    Points
    9
    Par défaut Problème avec mot cle FORMAT en VBA EXCEL
    Bonsoir CASEFAYERE et RJAMIN

    Merci de vous etre interessé à ma question

    Pour CASEFAYERE
    Effectivement c'est des lignes de codes que j'ai recopié sur le net et que j'ai adapté à mes besoins donc c'est le code que j'ai réécrit
    Au départ j'avais écris des lignes identiques mais ça ne marchait pas donc j'ai essayé de savoir pourquoi.
    j'ai remarqué que le "F" majuscule que je tapais pour ecrire "FORMAT" se transforme en "f" minuscule quand je validais la ligne.
    J'ai pensé que je faisais une erreur de syntaxe dans l’écriture de la formule mais la ligne ne se met pas en rouge
    Alors j'ai fait F1 en vba et rechercher le mot clé "FORMAT"
    j'ai fais un copier coller d'un exemple dans la fenêtre de l'éditeur VBA et patatras le "F" majuscule de l'exemple trouvé dans l'aide s'est transformé en "f" minuscule
    J'ai fait des essais avec des codes trouvés sur le net
    Toujours la même chose
    Alors je me suis tourné vers vous

    pour RJAMIN:
    Je sais que le mot clé FORMAT s'écrit avec un "F" majuscule

    Je ne comprend pas pourquoi ça fait ça

    je travaille avec VBA 6.3 sous Windows 7 pack 1et j'ai fait un essai sous Windows 8.1 j'obtiens le même résultat

    Merci de votre aide

  5. #5
    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 : 69
    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 le forum, Robert, Yves,

    A priori, comme je ne vois pas non plus la cause, peux-tu envoyer ton code en faisant un copier/coller mais non en l'écrivant. Attention, penses aux balises "Code", tu selectionnes tout ton code et tu cliques sur"#" au dessus du message ou tu cliques sur "#" avant de coller ton code et Ctrl + V.

    Bonne journée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur 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...)

  6. #6
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,
    En lisant votre explication je viens de penser à quelque chose. Est ce que dans les déclarations il n'y aurait une variable appelée 'Dim format as ...' car cela expliquerait la transformation de la majuscule en minuscule.
    Aucune certitude que cela soit la cause évidemment.
    Cordialement.

    RJ

  7. #7
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Août 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2013
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    Bonjour
    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
    '***************************************************
    '
    '      DECLARATION DES VARIABLE DU USERFORM 
    '
    '********************************************************
    Option Explicit
    Dim Ws As Worksheet
    Dim J As Long
    Dim i As Integer
    Dim l As Integer
    Dim DerLigne As Integer
    Dim Ligne As Long
    Dim Message As String
     Dim rep As String
     Dim Lg As Integer
    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
    '***************************************************
    '
    '      PRIVATE SUB QUI NE FONT PAS ERREUR
    '      MAIS NE FONCTIONNENET PASA CORRIGER
    '
    '********************************************************
     
     
    'Mise en forme numéro de téléphone
    'les espaces sont ajoutés seulement quand on quitte la boite de texte
    'Private Sub TextBox8_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    'TextBox8 = format(TextBox8, "0# ## ## ## ##")
    'End Sub
     
    '******************************************************
     
    'Mise en forme de la date
    'on réaffiche dans le textbox la date en forme longue
    'Private Sub TextBox9_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    'une premiere écriture de la formule qyui ne marche pas car il y a "f" a format
    'TextBox9 = format(TextBox9, "dd mmmm yyyy")
    'une deuxième écriture de la formule qyui ne marche pas car il y a "f" a format
    'TextBox9.Value = format(Now(), "dd/mmm/yyyy")
    'End Sub
     
    '************************************************************************
    Bon voila mon code par copier/coller ainsi que la déclaration des variables du Userform
    J'ai vérifié il n'y a aucune variable qui se nomme format mais je pense que VBA l'aurait refusé puique "Format" est un mot clé ou aurait déclaré cette variable comme ambigu

    Je vous précise c'est du code dans une userform si cela peux avoir une incidence
    je pense avoir bien mis les balises

    Je vous remercie encore de votre patience et de votre aide

  8. #8
    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 : 69
    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
    Franchement, je ne voudrais pas te vexer mais j'espère au moins que tu n'as pas écris le code comme tu le présentes (je me méfie de tout), j'espère que ton code n'a pas tous les "'" en debut de ligne, tu vas certainement penser que j'exagère mais......tel qu'il est le code ne sert à rien, avec tout le respect que je te dois
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur 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...)

  9. #9
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Août 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2013
    Messages : 7
    Points : 9
    Points
    9
    Par défaut Problème avec mot cle FORMAT en VBA EXCEL
    Bonjour CASEFAYERE

    Je ne voudrai pas t’offusquer car tu es très attentionné à mon égard et indulgant , mais voici l'explication des lignes vides

    Je suis un basicar j'ai commencer avec GWBASIC sur un TRS80

    On m'a enseigné à mettre des REMarques pour rendre mon code plus lisible ou si quelqu'un reprenait mon code il savait ce que j'avais voulu faire

    Je suis désolé c'est peut être une mauvaise habitude mais je trouvais cela bien pratique quand tu écrivais 30 ou 40 000 lignes (pas en VBA bien sûr )

    D'ailleurson retrouve ce mode d’écriture dans beaucoup de codes sur le net s

    je sais qu'elles ne servent à rien mais pour certains sont bien utiles

    Je ne pense pas qu'elles n'alourdissent pas le code bien au contraire

    Si tu veux je ne les supprimerai à l'avenir dans mes posts

    Mais ta remarque est très juste et tu as tout à fait raison

    Je recherche le lien où j'ai trouvé ce code pour voir si je n'ai pas fait une erreur en recopiant je tiendrait au courant

    Merci encore de ton aide

    Amicalement

  10. #10
    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 : 69
    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
    Re,

    + 1 pour la politesse, profites-en en ce moment je suis généreux (je plaisante mais...pas trop) je n'ai pas une trousse à points en peau de hérisson, j'attends de tes nouvelles.

    bonne fin de journée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur 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...)

Discussions similaires

  1. Mot de passe sur VBA Excel
    Par vietzims dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/05/2008, 09h26
  2. PB avec enregistrer sous ppt depuis VBA Excel
    Par sash6 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/11/2007, 09h05
  3. documentation pour une formation au vba excel version 2000
    Par zobusfr dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/05/2007, 19h17
  4. [Mail] Problème avec mail au format HTML
    Par kidpigeyre dans le forum Langage
    Réponses: 4
    Dernier message: 06/11/2006, 16h26
  5. probléme avec mot passe "sa"
    Par Bba_M dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 14/07/2006, 09h28

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