Bonjour,
Alors je m'explique, j'ai un problème par VBA pour le point d'insertion de mes différents paragraphes à ajouter les uns sous les autres. Pour faire simple j'ai plusieurs userform qui doivent copié-collé plusieurs paragraphes sur un document word.
Le code que j'ai fonctionne pour un userform c'est à dire qu'il copie-colle enregistre et ferme mais lorsque qu'un autre userform copie colle par dessus il n'ajoute pas en dessous mais il remplace le texte du premier userform
Je pense que la solution serait d'ajouter un insertafter mais je ne sais pas comment l'ecrire pour que ça marche...
Voici mon bout de code :
Private Sub Génération_Click()
'Déclaration variables
Dim WordApp As Object
Dim WordDoc As Object
Dim DocumentWord As String
Dim P As String
DocumentWord = Worksheets("Menu_Tramway").Cells(15, 4).Value
Set WordApp = CreateObject("word.application") 'ouvre Word
Set WordDoc = WordApp.Documents.Open(DocumentWord) 'ouvre DOC D15
WordApp.Visible = False 'word masqué
With WordDoc.Paragraphs
'Paragraphe 1
If CheckBox2.Value = True Then
WordDoc.Range.Text = Worksheets("T_DCE_2").Range("B2")
msgbox ("Norme Ciment Added")
ElseIf CheckBox2.Value = False Then
WordDoc.Range.Text = Worksheets("T_DCE_1").Range("B12")
End If
'Paragraphe 2
If CheckBox6.Value = True Then
P = Worksheets("T_DCE_2").Range("B72").Value
.Add
.Item(.Count).Range.InsertAfter P
msgbox ("Normes Béton Added")
ElseIf CheckBox6.Value = False Then
P = Worksheets("T_DCE_2").Range("B4").Value
.Add
.Item(.Count).Range.InsertAfter P
msgbox ("Norme Béton Added")
End If
End With
WordApp.Visible = True 'affiche le doc Word
Set WordApp = Nothing
Set WordDoc = Nothing
Unload Me 'ferme l'userform
End Sub
Alors je m'explique, j'ai un problème par VBA pour le point d'insertion de mes différents paragraphes à ajouter les uns sous les autres. Pour faire simple j'ai plusieurs userform qui doivent copié-collé plusieurs paragraphes sur un document word.
Le code que j'ai fonctionne pour un userform c'est à dire qu'il copie-colle enregistre et ferme mais lorsque qu'un autre userform copie colle par dessus il n'ajoute pas en dessous mais il remplace le texte du premier userform
Je pense que la solution serait d'ajouter un insertafter mais je ne sais pas comment l'ecrire pour que ça marche...
Voici mon bout de code :
Private Sub Génération_Click()
'Déclaration variables
Dim WordApp As Object
Dim WordDoc As Object
Dim DocumentWord As String
Dim P As String
DocumentWord = Worksheets("Menu_Tramway").Cells(15, 4).Value
Set WordApp = CreateObject("word.application") 'ouvre Word
Set WordDoc = WordApp.Documents.Open(DocumentWord) 'ouvre DOC D15
WordApp.Visible = False 'word masqué
With WordDoc.Paragraphs
'Paragraphe 1
If CheckBox2.Value = True Then
WordDoc.Range.Text = Worksheets("T_DCE_2").Range("B2")
msgbox ("Norme Ciment Added")
ElseIf CheckBox2.Value = False Then
WordDoc.Range.Text = Worksheets("T_DCE_1").Range("B12")
End If
'Paragraphe 2
If CheckBox6.Value = True Then
P = Worksheets("T_DCE_2").Range("B72").Value
.Add
.Item(.Count).Range.InsertAfter P
msgbox ("Normes Béton Added")
ElseIf CheckBox6.Value = False Then
P = Worksheets("T_DCE_2").Range("B4").Value
.Add
.Item(.Count).Range.InsertAfter P
msgbox ("Norme Béton Added")
End If
End With
WordApp.Visible = True 'affiche le doc Word
Set WordApp = Nothing
Set WordDoc = Nothing
Unload Me 'ferme l'userform
End Sub