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 :

probleme boucle (PDF + WORD)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Par défaut probleme boucle (PDF + WORD)
    bonjour , la macro que j'ai developee elle permet a creer un fichier PDF a partir d'un template ( j"utilise l"object wordapp) et elle remplace la variable par les experences qui manque pour chaque condidat et apres elle le enregistre le fichier pour chaque condidat : mon probleme c"est que j"arrive a creer les fichiers pour chaque condidats mais , la macro prend toujours le premier resultat pour tout le monde voici mon code

    merci pour votre temps

    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
    Public Sub Edit_Word_Document()
        Dim wordApp As Word.Application
        Set wordApp = CreateObject("word.Application")
     
        Dim wordDocument As Word.Document
         '''change path
     
        Dim experience As String
        '''Change this part, loop through excel, replace mytext
     
        Dim i As Integer
     
        For i = 2 To ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
     
            bodymessage = ""
            bodymessage1 = ""
            bodymessage2 = ""
            bodymessage3 = ""
     
            If LCase(ActiveSheet.Cells(i, 8)) = "dnm" And ActiveSheet.Cells(i, 1) <> "" Then
                wordApp.documents.Open "C:\Users\riadh.said@cic.gc.ca\Desktop\Template.docx"
     
                Set wordDocument = wordApp.ActiveDocument
     
                Set wordDocument = wordApp.ActiveDocument
     
                     If LCase(Cells(i, "D").Value) = "dnm" Then
     
                        bodymessage = vbNewLine & Sheets("lien").Range("B9").Value
     
                    End If
     
             If LCase(Cells(i, "E").Value) = "dnm" Then
     
                    bodymessage1 = vbNewLine & Sheets("lien").Range("B10").Value
     
                 End If
     
                If LCase(Cells(i, "F").Value) = "dnm" Then
     
                    bodymessage2 = vbNewLine & Sheets("lien").Range("B11").Value
     
                 End If
     
                If LCase(Cells(i, "G").Value) = "dnm" Then
     
                    bodymessage3 = vbNewLine & Sheets("lien").Range("B12").Value
     
                  End If
     
                  experience = bodymessage & bodymessage1 & bodymessage2 & bodymessage3
     
                wordDocument.Content.Find.Execute FindText:="VariableToReplace", ReplaceWith:=experience, Replace:=wdReplaceAll
     
                wordDocument.SaveAs "C:\Users\riadh.said@cic.gc.ca\Desktop\" & ActiveSheet.Cells(i, 1).Value & ", " & ActiveSheet.Cells(i, 2).Value & ".pdf", 17
     
            End If
     
        Next
     
    End Sub

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    déjà pour commencer, voici ta procédure sous une "meilleure forme"

    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
    Public Sub Edit_Word_Document()
     Dim i As Integer
     Dim wordDocument As Word.Document
     Dim experience As String
     Dim wordApp As Word.Application
     
     Set wordApp = CreateObject("word.Application")
     
     For i = 2 To ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
         bodymessage = ""
         bodymessage1 = ""
         bodymessage2 = ""
         bodymessage3 = ""
     
         If LCase(ActiveSheet.Cells(i, 8)) = "dnm" And ActiveSheet.Cells(i, 1) <> "" Then
             wordApp.documents.Open "C:\Users\riadh.said@cic.gc.ca\Desktop\Template.docx"
             Set wordDocument = wordApp.ActiveDocument
     
             If LCase(Cells(i, "D").Value) = "dnm" Then bodymessage = vbNewLine & Sheets("lien").Range("B9").Value
             If LCase(Cells(i, "E").Value) = "dnm" Then bodymessage1 = vbNewLine & Sheets("lien").Range("B10").Value
             If LCase(Cells(i, "F").Value) = "dnm" Then bodymessage2 = vbNewLine & Sheets("lien").Range("B11").Value
             If LCase(Cells(i, "G").Value) = "dnm" Then bodymessage3 = vbNewLine & Sheets("lien").Range("B12").Value
     
             experience = bodymessage & bodymessage1 & bodymessage2 & bodymessage3
             wordDocument.Content.Find.Execute FindText:="VariableToReplace", ReplaceWith:=experience, Replace:=wdReplaceAll
             wordDocument.SaveAs "C:\Users\riadh.said@cic.gc.ca\Desktop\" & ActiveSheet.Cells(i, 1).Value & ", " & ActiveSheet.Cells(i, 2).Value & ".pdf", 17
         End If
     Next i
     
    End Sub

    ensuite, difficile de comprendre ce que tu racontes, tu emploies des mots qu'on ne retrouve pas dans tes variables
    si c'est "experience" qui est toujours identique, c'est normal, tu affectes aux Strings "bodymessage" toujours les mêmes cellules

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Par défaut
    en fait j"ai un tableau il contient nom , prenom , email , experience 1 experience 2 experience 3, experience 4, Decison

    donc chaque condidat on l'evalue selon ces experiences si il aura un seul (DNM = DOES NOT MEET ) dans l'une de ces experiences la decision sera DNM

    apres on envoie un email pour chaque condidat qui contient les experiences qui lui manque ( toutes les experiences sont ecrites dans une une autre feuille )

    j'ai utilise une variable dans un document world qui remplace ces experiences apres je la convertit en PDF

    donc mon probleme c'est que j'aurais les resultats et j'arrive a creer les fichiers pdf mais il contiennent les memes resultats .

    -- j"ai un problem de boucle quelque part

Discussions similaires

  1. Probleme Boucle infinie Recordset.movenext "muet"?
    Par shub dans le forum VBA Access
    Réponses: 7
    Dernier message: 14/06/2006, 13h22
  2. Probleme avec liaison word en publipostage
    Par deglingo37 dans le forum Access
    Réponses: 2
    Dernier message: 23/05/2006, 16h38
  3. [Tableaux] Probleme boucle et post
    Par Caprichosa dans le forum Langage
    Réponses: 4
    Dernier message: 04/05/2006, 14h06
  4. [VB.NET] Probleme impression document word
    Par lord_kyshow dans le forum ASP.NET
    Réponses: 36
    Dernier message: 09/06/2005, 16h07
  5. [LG]Problême Boucle
    Par pierrOPSG dans le forum Langage
    Réponses: 1
    Dernier message: 29/04/2004, 16h48

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