Re : formule ou macro pour prénom
Bon, alors, résultat des courses : ça marche, je colle et je transforme en texte, mais je n'arrive pas à désélectionner, donc je colle le reste à la place et non après grrrrrr
Vé p'têt' poser la question sur le forum Word, kestenpense?
C@thy
'Activer Outils Références Microsdoft Word 11.0 Object Library
Sub DicoItalique()
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Dim Chemin As String, NDGusse As String
Dim C As Range
Dim derligne As Integer, n As Integer
Chemin = ThisWorkbook.Path
derligne = Range("C65000").End(xlUp).Row
Set WordApp = CreateObject("Word.application")
Set WordDoc = WordApp.Documents.Add(DocumentType:=0)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
' WordApp.Visible = False 'on NE voit PAS ce qui se passe dans le cocument WORD
WordApp.Visible = True 'on voit ce qui se passe dans le cocument WORD
On Error Resume Next
For n = 2 To derligne
' ...
'code pour mettre le prénom usuel en italique
' ...
Range("G" & n) = Range("B" & n) & " " & Range("C" & n) & " " & Range("D" & n) & " " & Range("F" & n)
If InStr(Range("F" & n), Range("E" & n)) <> 0 Then
x = InStr(Range("G" & n), Range("E" & n))
y = Len(Range("E" & n)) + 1
Range("G" & n).Characters(x, y).Font.FontStyle = "Italique"
End If
' ...
'code pour copier les données dans Word
' ...
NDGusse = Range("C" & n).Text
With WordApp
.Visible = True
End With
' Set plage = Range("G" & n & ":" & Range("IV" & n).End(xlToLeft).Address)
Set plage = Range("G" & n)
plage.Copy
nbl = plage.Rows.Count
WordApp.Selection.Paste
WordApp.Selection.MoveUp Unit:=wdLine, Count:=nbl
If Selection.Information(wdWithInTable) = True Then
WordApp.Selection.Rows.ConvertToText Separator:=" ", NestedTables:=True ', vbCr
Else
MsgBox "The insertion point is not in a table."
End If
Selection.Collapse Direction:=wdCollapseEnd
Selection.EndKey Unit:=wdStory, Extend:=wdMove
With WordApp
For Each C In Range("H" & n & ":" & Range("IV" & n).End(xlToLeft).Address)
If C <> 0 Then .Selection.TypeText Text:=C.Text & " "
Next C
.Selection.TypeParagraph 'vbCr
Call IntegreFichierXL(Chemin & "\" & Classeur1, NDGusse, WordApp.Selection)
Call IntegreFichierXL(Chemin & "\" & Classeur2, NDGusse, WordApp.Selection)
Call IntegreFichierXL(Chemin & "\" & Classeur3, NDGusse, WordApp.Selection)
Call IntegreFichierXL(Chemin & "\" & Classeur4, NDGusse, WordApp.Selection)
Call IntegreFichierXL(Chemin & "\" & Classeur5, NDGusse, WordApp.Selection)
If Not n = derligne Then WordApp.Selection.InsertBreak Type:=wdPageBreak
End With
Next n
MsgBox "Fin traitement"
WordDoc.SaveAs Filename:=Chemin & "\Dico.doc"
' WordApp.Quit 'Pour Fermer Word
Set WordApp = Nothing
Set WordDoc = Nothing
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub