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 Word Discussion :

Macro pour accords de guitare


Sujet :

VBA Word

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Macro pour accords de guitare
    Bonjour à tous
    je possede beaucoup de textes de chansons ecrites comme ci dessous dans toutes les langues:

    Ma[Am7] nhã tão bo[Bm7b5] nita [Em7] manhã [Am7] [Bm7b5] [Em7]
    na [Am7] vida [Dm7] uma no[G7] va can[CMaj7] ção [Db]
    Cantando só [Dm7] teus olhos [G7]

    et je voudrais les transformer dans Word comme ceux-ci en gras, italique et une taille environ de 22 et surlignée en jaune avec l'aide d'une macro pour toute la page

    [Am7] [Bm7b5][Em7] [Am7] [Bm7b5] [Em7]
    Ma nhã tão bo nita manhã
    [Am7][Dm7] [G7] [CMaj7][Db]
    na vida uma no va can ção
    [Dm7] [G7]
    Cantando só teus olhos

    D'avance je vous en remercie pour votre aide
    cordialement
    Pactoine

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Bonjour et bienvenue sur les forums Office de DVP.

    Essaie 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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Sub AccordGuitare()
    Dim pAra As Paragraph
    Dim stLtr
    Dim stAccord As String
    Dim stParole As String
    Dim oDoc1 As Document
    Dim odoc2 As Document
    Dim boSwitch As Boolean
     
     
    Set oDoc1 = ActiveDocument
    Set odoc2 = Documents.Add
     
    For Each pAra In oDoc1.Paragraphs
        For Each stLtr In pAra.Range.Characters
            Select Case stLtr
                Case "["
                    boSwitch = True
                Case "]"
                    boSwitch = False
                    stAccord = stAccord & stLtr & " "
                    GoTo out
            End Select
            If boSwitch Then
                stAccord = stAccord & stLtr
            Else
                stParole = stParole & stLtr
            End If
    out:
        Next stLtr
    odoc2.Select
    Selection.EndKey unit:=wdStory
    Selection.TypeText stAccord & vbCrLf & stParole & vbCrLf
    Debug.Print stAccord
    Debug.Print stParole
    stAccord = " "
    stParole = " "
     
    Next pAra
     
    Set oDoc1 = Nothing
    Set odoc2 = Nothing
    End Sub
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Macro Accord de guitare suite
    Bonjour
    Heureux-oli

    Ta macro fonctionne super bien sauf qu'elle me rajoute une ligne vide à chaque fois et dont je n'ai pas vraiment l'utilité.
    Si tu peux juste me l'enlever ça serait super sinon je ferais avec en les supprimant moi-meme.
    D'avance je t'en remercie
    cordialement
    Pactoine

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Essaie comme ça

    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
    Sub AccordGuitare()
    Dim pAra As Paragraph
    Dim stLtr
    Dim stAccord As String
    Dim stParole As String
    Dim oDoc1 As Document
    Dim odoc2 As Document
    Dim boSwitch As Boolean
     
     
    Set oDoc1 = ActiveDocument
    Set odoc2 = Documents.Add
     
    For Each pAra In oDoc1.Paragraphs
        For Each stLtr In pAra.Range.Characters
            Select Case stLtr
                Case "["
                    boSwitch = True
                Case "]"
                    boSwitch = False
                    stAccord = stAccord & stLtr & " "
                    GoTo out
            End Select
            If boSwitch Then
                stAccord = stAccord & stLtr
            Else
                stParole = stParole & stLtr
            End If
    out:
        Next stLtr
    odoc2.Select
    Selection.EndKey unit:=wdStory
    Selection.TypeText stAccord & vbCrLf & stParole 
    Debug.Print stAccord
    Debug.Print stParole
    stAccord = " "
    stParole = " "
     
    Next pAra
     
    Set oDoc1 = Nothing
    Set odoc2 = Nothing
    End Sub
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #5
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Macro Accord de guitare suite 2
    rebonjour
    C'est beaucoup mieux comme ça
    et je t'en remercie beaucoup
    je voudrais juste profiter un peu de ton savoir pour te demander si c'etait possible de mettre les accords en gras et italique avec une taille de 14 environ
    mais je ne veux pas trop abuser de ta bonté sauf si vraiment ça ne t'embetes pas.

    sinon je t'en remercie encore et bon vent
    Pactoine

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Essaie ceci :

    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
    Sub AccordGuitare()
    Dim pAra As Paragraph
    Dim stLtr
    Dim stAccord As String
    Dim stParole As String
    Dim oDoc1 As Document
    Dim odoc2 As Document
    Dim boSwitch As Boolean
     
     
    Set oDoc1 = ActiveDocument
    Set odoc2 = Documents.Add
     
    For Each pAra In oDoc1.Paragraphs
        For Each stLtr In pAra.Range.Characters
            Select Case stLtr
                Case "["
                    boSwitch = True
                Case "]"
                    boSwitch = False
                    stAccord = stAccord & stLtr & " "
                    GoTo out
            End Select
            If boSwitch Then
                stAccord = stAccord & stLtr
            Else
                stParole = stParole & stLtr
            End If
    out:
        Next stLtr
    odoc2.Select
    Selection.EndKey unit:=wdStory
    Selection.TypeText Trim(stAccord) & vbCrLf & stParole
    Debug.Print stAccord
    Debug.Print stParole
    stAccord = " "
    stParole = " "
     
    Next pAra
     
    For Each pAra In odoc2.Paragraphs
        If pAra.Range.Characters(1) = "[" Then
            With pAra.Range.Font
                .Bold = True
                .Size = 14
                .Italic = True
     
            End With
            pAra.Range.HighlightColorIndex = wdYellow
        Else
            pAra.Range.Style = wdStyleNormal
        End If
    Next pAra
     
     
    Set oDoc1 = Nothing
    Set odoc2 = Nothing
    End Sub
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  7. #7
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Macro accord de guitare3
    Bonjour oli

    Elle est vraiment super ta macro et je t'en remercie beaucoup
    C'est juste ce qu'il me fallait
    Encore merci!

    cordialement
    Pactoine

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

Discussions similaires

  1. [VBA-E] Macro pour convertir un fichier texte en excel
    Par Nicolas67 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/05/2006, 14h47
  2. Complexité d'une macro pour Excel
    Par MatMeuh dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 14/04/2006, 11h23
  3. macro pour un malloc
    Par salseropom dans le forum C
    Réponses: 4
    Dernier message: 15/02/2006, 10h53
  4. macro pour splashscreen
    Par stoads dans le forum IHM
    Réponses: 20
    Dernier message: 26/11/2005, 12h33
  5. [VBA-E] [help]macro pour dupliquer une feuille (en valeur)
    Par minikisskool dans le forum Macros et VBA Excel
    Réponses: 31
    Dernier message: 07/11/2005, 19h24

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