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

VBA Access Discussion :

analyse d'une ligne de code vba


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2010
    Messages : 47
    Par défaut analyse d'une ligne de code vba
    Bonjour à tous

    Quelqu'un peut-il m'aider ? Dans le cadre d'une base, qui a pour objet de documenter une base access (liste des objets, des champs, de leurs propriétés,...) et d'analyse du code, j'ai besoin de séparer une ligne en plusieurs parties, c'est-à-dire :
    1- séparer une ligne en 2 s'il existe ":" en milieu de ligne (ce n'est pas très lisible mais ...)
    2- identifier le commentaire de fin de ligne
    3- identifier le message et le titre d'une 'MsgBox'

    Je rencontre des difficultés du fait que l'on peut rajouter des virgules ou des point entre guillemets.

    Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox "Bonsoir" & " , " & "Au revoir", vbYesNo + vbDefaultButton1, "Titre : " & "Ma base : une base Access 2007": Exit Sub  '  Exemple
    Quelqu'un porrait-il m'aider ou me donner une piste (je galère même avec les fonctions 'Instr' et 'Split')

    Merci
    Nourson

  2. #2
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    Bonsoir,
    le : ou les , à considérer sont toujours après un nombre paire de "
    une fonction pourrait faire l'affaire
    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
     
    Function PosCar(texte As String, depart As Long, car As String) As Long
     If (depart < 1) Or (depart > Len(texte)) Then Exit Function
     Dim i As Long, j As Long
     PosCar = 0
     For i = depart To Len(texte)
      c = Mid$(texte, i, 1)
      Select Case c
      Case """"
       j = j + 1
      Case car
       If (j Mod 2) = 0 Then PosCar = i: Exit For
      End Select
     Next i
    End Function
    en paramètre la chaine de caractère, la position où commence la recherche et enfin le caractère à chercher
    pour l'exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub test()
     s = "MsgBox ""Bonsoir"" & "" , "" & ""Au revoir"", vbYesNo + vbDefaultButton1, ""Titre : "" & ""Ma base : une base Access 2007"": Exit Sub  '  Exemple"
     n = PosCar(s, 1, ":")
     Debug.Print "position de : " & n
     n = PosCar(s, 1, ",")
     Debug.Print "position de , " & n
     n = PosCar(s, n + 1, ",")
     Debug.Print "position de , " & n
    End Sub
    dans s les " doivent être doubler

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 146
    Par défaut
    Bonjour,
    tu peux également utiliser les expressions régulières. Il y a un tuto sur le sujet.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2010
    Messages : 47
    Par défaut
    Merci à tous les deux.
    Avec vos réponses, je peux poursuivre.
    Nourson

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

Discussions similaires

  1. Erreur dans une ligne de code VBA
    Par chpierro62 dans le forum Général VBA
    Réponses: 1
    Dernier message: 13/01/2012, 23h41
  2. une action dans excel peut elle créer une ligne de code dans VBA?
    Par beebe dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 25/09/2008, 08h23
  3. Bug dans une ligne de code VBA
    Par orlacit dans le forum VBA Access
    Réponses: 5
    Dernier message: 08/11/2007, 16h25
  4. Réponses: 7
    Dernier message: 19/12/2006, 13h11
  5. Prob pour exporter une macro en code VBA
    Par electrosat03 dans le forum Access
    Réponses: 6
    Dernier message: 04/02/2006, 20h15

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