macro Excel vers Word

  • Initiateur de la discussion Initiateur de la discussion C@thy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C@thy

XLDnaute Barbatruc
Bonjour,

j'ai une macro qui crée un document Word en copiant des lignes depuis une feuille Excel.
Je voudrais, dès que cette copie est effectuée, mettre ce que je viens de copier dans Word en italique (en fait, c'était déjà en italique sous Excel, mais la copie dans Word me perd ce format, idem pour les dates, 10 juoin 2001 devient 10/06/2001 or j'ai besoin de conserver ce format.

Comment faire???

Merci à vous

C@thy
 
Re : macro Excel vers Word

Merci tatiak😉

voici ma macro :

Code:
Public Const Classeur1 = "Grades.xls"
Public Const Classeur2 = "Carriere.xls"
Public Const Classeur3 = "Annexes.xls"
Public Const Classeur4 = "Déco.xls"
Public Const Classeur5 = "Biblio.xls"
Sub Dico()
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, i 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 Error Resume Next
    For i = 2 To derligne
        With WordApp.Selection
            NDGusse = Range("C" & i).Text
            For Each C In Range("A" & i & ":" & Range("IV" & i).End(xlToLeft).Address)
                .TypeText Text:=C & vbTab
            Next C
            .TypeParagraph
 
            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 i = derligne Then .InsertBreak Type:=wdPageBreak
        End With
    Next i
    MsgBox "Fin traitement"
    WordDoc.SaveAs Filename:=Chemin & "\Dico.doc"
    WordApp.Quit
    Set WordApp = Nothing
    Set WordDoc = Nothing
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub
'****************
Sub IntegreFichierXL(DocXL As String, NDGusse As String, WappS As Object)
Dim XLDOC As Object
Dim derligneXLDOC As Integer
Dim j As Integer, C As Range
    Set XLDOC = Workbooks.Open(DocXL, , True)
    derligneXLDOC = XLDOC.ActiveSheet.Range("C65000").End(xlUp).Row
    For j = 2 To derligneXLDOC
        If XLDOC.ActiveSheet.Range("C" & j).Text = NDGusse Then
            For Each C In XLDOC.ActiveSheet.Range("F" & j & ":" & Range("IV" & j).End(xlToLeft).Address)
                WappS.TypeText Text:=C & vbTab 'insère le texte
            Next C
            WappS.TypeParagraph 'insertion paragraphe
            If Right(DocXL, 10) = "Grades.xls" Then 'mettre les grades en italique
               Selection.Font.Italic = True
            End If
        End If
    Next j
    XLDOC.Close
    Set XLDOC = Nothing
End Sub

Bises

C@thy
 
Dernière édition:
Re : macro Excel vers Word

Ouiiiiiiiiiiiiiiiii... tu les as reconnus mes gugusses...


un immense MERCIIIIIIIIIIIIII pour ton aide. c'est SUPER

Edit : y'a juste un petit truc : si je prends le 1er code, ça me met tout en italique alors que seul le fichier des grades doit être en italique, alors j'ai essayé le 2ème, et là, ça ne copie pas mes lignes qui sont toutes en italique...



C@thy
 
Dernière édition:
Re : macro Excel vers Word

le code concernant l'italique n'est pas là où il faut,
je joins mes fichiers.
La macro est dans etat civil, seuls les grades doivent être en italique.

Merci 😉 pour le service après-vente 😀

Bises

C@thy
 

Pièces jointes

Dernière édition:
Re : macro Excel vers Word

Merci tatiak, ça marche pas mais je sens qu'on n'est pas loin...

pour l'instant ça n'écrit rien du tout,
cette instruction
WappS.Selection.Font.Italic = Italique
fait revenir à l'nstruction Call suivante du module appelant (Dico)

je cherche...😕

Bises

C@thy
 
Dernière édition:
Re : macro Excel vers Word

Hi hi hi!!! j'adore quand tu t'insultes!!!😀😀😀

Ben moi, j'avais pas vu l'erreur alors tu es tout excusé!😉

Ben voui, c'est GENIAL ça!!! Un immense MERCI

Je savais qu'on n'était pas loin....
par contre, il faut que je fasse attention, ta réponse m'est arrivée dans les courriers indésirables (et Dieu sait que ce courrier était hautement désirable... comme moi d'ailleurs...😀)

Mille bisous

C@thy
 
Re : macro Excel vers Word

Par contre j'ai inversé les 2 WappS car je ne sais pas pourkoi mais le 1ère cellule récupérée n'était pas en italique

J'ai un autre souci :
quand ma cellule contient une date au format j mmmm aaaa ex. 10 janvier 2010
je récupère le format date standard : jj/mm/aa 10/01/10

Pâ bien!....

Bon, je peux essayer une bidouille infâme qui consisterait à faire une fonction texte dans la colonne d'à côté avec le bon format... mais c'est pas trop clean comme soluce... surtout que j'ai plein de colonnes date...

Z'avez une idée???

Biz

C@thy
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
18
Affichages
1 K
Réponses
5
Affichages
754
Retour