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 :

Problème de End If


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Homéopahe
    Inscrit en
    Octobre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homéopahe
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 7
    Par défaut Problème de End If
    Bonsoir,

    j'ai un soucis avec du code qui génère une playlist en xml.

    Le code compare les Catégories et quand la nouvelle catégorie <> de la nouvelle alors il faut sortir de la boucle et enregistrer le fichier mais là, j'ai du oublié quelque chose, car la boucle continue..;continue...

    J'ai une feuille Herbs dans laquelle il y a Ncategorie (1,2...34), Categorie, Herb, Phonetic, Latin, French


    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
     
     
    Sub CreatePlaylist() ' création des playlists de pharmacopée pour le lecteur dewplayer en swf
     
    Dim res, code As String
    Dim FileName, Ncategorie, Categorie, Herb, Phonetic, Latin, French, old_Categorie, Old_Herb
     
    'mettre entre guillement le code HTML du fichier a generer
     
    code = "<?xml version='1.0' encoding='ISO-8859-1'?>" & vbCrLf
    code = code & "<playlist version='1' xmlns='http://xspf.org/ns/0/'>" & vbCrLf
        code = code & "<title></title>" & vbCrLf
        code = code & "<creator></creator>" & vbCrLf
        code = code & "<link></link>" & vbCrLf
        code = code & "<info>t</info>" & vbCrLf
        code = code & "<image></image>" & vbCrLf
     
        code = code & "<trackList>" & vbCrLf
     
     
     
     
    Dim ligpoint As Integer
     
        ligpoint = 2
        old_Categorie = ""
        Old_Herb = ""
     
     While Worksheets(TB_Herbs).Cells(ligpoint, PA_HERB).Value <> ""
             Categorie = Worksheets(TB_Herbs).Cells(ligpoint, PA_CATEGORIE).Value
     
        If old_Categorie = Categorie Then
     
     
            While Worksheets(TB_Herbs).Cells(ligpoint, PA_HERB).Value <> ""
                    Ncategorie = Worksheets(TB_Herbs).Cells(ligpoint, PA_Ncategorie).Value
                    Categorie = Worksheets(TB_Herbs).Cells(ligpoint, PA_CATEGORIE).Value
                    Herb = Worksheets(TB_Herbs).Cells(ligpoint, PA_HERB).Value
                    Phonetic = Worksheets(TB_Herbs).Cells(ligpoint, PA_PHONETIC).Value
                    Latin = Worksheets(TB_Herbs).Cells(ligpoint, PA_LATIN).Value
                    French = Worksheets(TB_Herbs).Cells(ligpoint, PA_FRENCH).Value
     
                 If old_Categorie = Categorie And Old_Herb <> Herb Then
     
                    code = code & "<track>" & vbCrLf
                            code = code & "<location>../MP3/" & Phonetic & ".mp3</location>" & vbCrLf
                            code = code & "<creator>Pascal DUMAS</creator>" & vbCrLf
                            code = code & "<album>Phonétiques des " & Categorie & "</album>" & vbCrLf
                            code = code & "<title>" & Herb & "</title>" & vbCrLf
                            code = code & "<image>../images/" & Phonetic & ".jpg</image>" & vbCrLf
                            code = code & "<latin>" & Latin & "</latin>" & vbCrLf
                            code = code & "<français>" & French & "</image>" & vbCrLf
                            code = code & "<copyright>Copyright Les Corps Énergies</copyright>" & vbCrLf
                            code = code & "<link></link>" & vbCrLf
                    code = code & "</track>" & vbCrLf
     
                End If
     
     
                        old_Categorie = Categorie
                        Old_Herb = Herb
                        ligpoint = ligpoint + 1
            Wend
        End If
     
     
            old_Categorie = Categorie
            ligpoint = ligpoint + 1
     
     
        code = code & "</trackList>" & vbCrLf
    code = code & "</playlist>" & vbCrLf
     
        code = code & "<!-- concerne les " & Categorie & "  -->" & vbCrLf
        code = code & " <!-- " & ligpoint + 1 & " plantes -->" & vbCrLf
     
    'creation du fichier
    Set fs = CreateObject("scripting.fileSystemObject")
    Set a = fs.CreateTextFile(ActiveWorkbook.Path & "\playlists\playlist" & Ncategorie & ".xml", True, False)
    a.WriteLine code
    a.Close
    ligpoint = ligpoint + 1
    Wend
    MsgBox " playlist(s) générée(s)"
    End Sub
    Merci de votre aide !

  2. #2
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Salut,

    l'instruction suivante conditionne ton bouclage (les 2 d'ailleurs):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     While Worksheets(TB_Herbs).Cells(ligpoint, PA_HERB).Value <> ""
    A ta place je m'intéresserais de près aux variables.

    De plus, les 2 boucles avec la même condition..... ça me semble.... pas correct.
    Il ne manquerais pas un test sur la catégorie dans la boucle intérieure ?

Discussions similaires

  1. Problème de End If
    Par Chris171717 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/02/2013, 11h10
  2. Problème avec End
    Par Nicos57 dans le forum C++
    Réponses: 5
    Dernier message: 04/08/2007, 15h35
  3. [D7]Problème Try Finally End
    Par delphi5user dans le forum Delphi
    Réponses: 12
    Dernier message: 17/04/2007, 16h37
  4. problème php unexpected $end
    Par hismaella dans le forum Langage
    Réponses: 12
    Dernier message: 03/04/2007, 16h28
  5. [Fortran77] Problèmes de boucle et end of file
    Par Kokocha dans le forum Fortran
    Réponses: 1
    Dernier message: 18/03/2007, 19h00

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