Générer des courriers types word à partir d'excel

camarchepas

XLDnaute Barbatruc
Re : Générer des courriers types word à partir d'excel

Il faudrait le fichier pour comprendre car la , je ne peux t'en dire plus
 

loulouange

XLDnaute Occasionnel
Re : Générer des courriers types word à partir d'excel

voici le fichier pour te permettre de mieux cerner le problème.

merci de ton aide
 
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : Générer des courriers types word à partir d'excel

Oui , j'ai vu , par contre , y'a des num tel et autre choses dans le classeur, je pense qu'il vaudrait mieux l'enlever .

Voici donc .

Comme tu travail sur 2 classeurs , il faut préciser le nom du classeur comme c'est fait ci dessous

Code:
Private Sub Worksheet_Activate()
Application.DisplayAlerts = 0: Application.EnableEvents = 0
'A l'activation de la feuille
  'On cherche la dernière ligne pleine pour supprimer les données
  j = [A65536].End(xlUp).Row
  If j > 4 Then Rows("5:" & j).ClearContents
  With Workbooks("Suivi ateliers(1).xlsm").Sheets("Base")
  'Pour toutes les lignes de "Base"
  For j = 3 To .[A65536].End(xlUp).Row
    If .Cells(j, 2) <> "" Then
      'On copie les données de Base dans la feuille activée
      i = [A65536].End(xlUp)(2).Row
      Cells(i, 1).Resize(, 5).Value = .Cells(j, 1).Resize(, 5).Value
      Cells(i, 6) = .Cells(j, 25)
      Cells(i, 7) = .Cells(j, 28)
      Cells(i, 8) = .Cells(j, 29)
      Cells(i, 9).Resize(, 23).Value = .Cells(j, 808).Resize(, 23).Value
  End If
  Next
  End With
  j = [A65536].End(xlUp).Row
  If j > 4 Then Range("A5:AE" & [D65536].End(xlUp).Row).Sort [D5], xlAscending, [E5], , xlAscending, , , xlNo
Application.DisplayAlerts = -1: Application.EnableEvents = -1
End Sub
 

loulouange

XLDnaute Occasionnel
Re : Générer des courriers types word à partir d'excel

Bonjour,

Oups j'avais pas fait attention, je suppose que tu parles du logo avec les coordonnées, j'avais pris soins d'enlever les infos personnelles sur les autres feuilles mais là j'ai zappé, merci de me l'avoir signalé (j'ai supprimé le fichier).

Alors je viens d'essayer ton code et là ça fonctionne !! Il fallait donc préciser le nom du classeur sources.

J'ai encore deux questions :

Pour le nom du classeur sources, on ne peut pas mettre "ThisWorkbook" ? je demande cela car on est amené à changer le nom du fichier selon la période de l'année. Ceci pour éviter de changer à chaque fois la ligne. Enfin c'est pas bien gênant autrement.

2ème question : Avant de générer mon fichier, je travaille au départ sur mon tableau sources qui se trouve donc dans l'onglet typo en appliquant des filtres sur certaines colonnes, mais si je fais ensuite la copie via le bouton pour obtenir mon deuxième fichier typotest, tout s'emballe et je me retrouve avec des données dans tous les sens. donc je dois enlever les filtres du tableau sources avant et les remettre ensuite sur le tableau de destination. Je voulais savoir si c'était normal ?

Encore merci pour ton aide.
 

camarchepas

XLDnaute Barbatruc
Re : Générer des courriers types word à partir d'excel

Le thisworkbook est le classeur qui contient la macro,

L'autre solution c'est d'activer le classeur et de ce servir d'activeworkbook.

Pour l'autre question , non c'est pas normal , aprés peut être dû à la volumétrie et à la capacité de l'ordi.

Pour certain de mes traitements pleins de lignes et colonnes , je suis obligé de segmenter la copie, sinon des problèmes mémoire
 

loulouange

XLDnaute Occasionnel
Re : Générer des courriers types word à partir d'excel

ok merci pour l'info, je vais regarder au niveau de la fonction activeworkbook.
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas