Résolu Diviser un excel en plusieurs fichiers

  • Auteur de la discussion DEFSTRANGER
  • Date de début

DEFSTRANGER

Habitué
Bonjour,
Je ne maitrise pas encore tout sur le sujet des macros. On va dire que je bidouille.

J'ai repris sur un de vos post le code suivant :
"For Each feuille In ActiveWorkbook.Sheets

feuille.Copy
With ActiveWorkbook
.Title = feuille.Name
.Subject = feuille.Name
.SaveAs Filename:=feuille.Name + ".xls"
End With
Next
End Sub"

Ce code est intéressant. Mais, il ne répond pas exactement à mon souhait.

Dans les fichiers créés par la macro, les cellules reprennent les formules et non pas les valeurs.

De plus, je souhaiterai choisir les onglets à déposer dans les nouveaux fichiers
ex : aaa, bbb et ccc dans le premier fichier, ddd, eee dans le second fichier etc...

Pourriez-vous m'éclairer ?

Merci



 

magellan

Modérâleur
Staff
Ceci est "normal" au titre que la copie retourne le contenu technique de la cellule, et non pas la valeur réellement calculée.

Là tu passes par une copie "brute" du formulaire parce que tu reprends toute la page (copy).
Si tu veux n'avoir que les valeurs, tu vas devoir passer par de la macro avec du copie de valeurs.

Par exemple:
Sub test()
Sheets(2).Cells(65535, 1).End(xlUp).value = Sheets(1).Cells(1, 1).value
End Sub

 

DEFSTRANGER

Habitué
Meilleure réponse
Bonjour Magellan.

Je te remercie. Entre temps j'avais trouvé mais je n'avais pas eu le temps de repasser par ici.

Cells.Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheets("ongletx").Select

 

DEFSTRANGER

Habitué
Bonjour,

J'ai poursuivi plus loin sur mon projet. Mais je coince sur un point :
Lors de la création automatique des mails, le logo dans la signature ne s'affiche pas, à la place j'ai une croix rouge.
Même si j'ai t'intégré à la fin du corps du mail un fichier JPG directement, j'ai aussi une croix.

quelqu'un aurait-il une solution ?

Merci


Dim Mail As MailItem

' ActiveWorkbook.EnvelopeVisible = True (Avec ça, ça ne change rien, je l’ai remis en commentaire)
'Info signature Equipe
Dim FicSignature As String
FicSignature = "C:\...signature.htm"
Set Mail = Outlook.CreateItem(olMailItem)
With Mail

' Corps du Mail
StrMsg = "Bonjour," _
& "<br /> " _
& "<br /> Veuillez trouver, ci-joint, le doc du " & quant & " sur 5 jours glissants. " _
& "<br /> " _
& "<br /> " _
& "<br /> Cordialement," _
& "<br /> " _
& "<br /> " _
& "<br><br><IMG src=C:\logo.jpg></BODY>" _
& "<br /> " & _
GetBoiler(FicSignature)

.To = Destinataires(i)
.CC = Destinatairescc(i)
.Subject = "doc du " & quant & " sur 5 jours glissants - Pour le client : " & Client(i)
.BodyFormat = olFormatHTML
.HTMLBody = StrMsg
.Attachments.Add ("C:\ DOC_Client_ ‘’ & Client (i) " & "_" & quant & ".xlsx")
.Display

End With

Next i

 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 134
Messages
6 718 078
Membres
1 586 394
Dernier membre
Manoushk
Partager cette page
Haut