enregitrer le dossier et un onglet en pdf avec une macro

Y compris Power BI, Power Query et toute autre question en lien avec Excel
elsouba
Membre habitué
Membre habitué
Messages : 55
Inscrit le : 13 novembre 2014
Version d'Excel : 2013

Message par elsouba » 12 janvier 2019, 15:49

Bonjour à vous,

j'ai un code vba me permettant de faire une copie d'un onglet vers un autre.
Cela fonctionne mais je voudrais :
- enregistrer mon fichier en xls/xlsm dans un dossier sur mon bureau des que j'appuie sur mon bouton me permettant de copier de l'onglet1 vers onglet2
- enregistrer automatiquement mon onglet 2 en pdf dans un dossier specifique
Mes questions :
cela est-il possible?
si j'enregistre mon fichier dans un dossier , j'ai une macro me permettant de mettre a zero mes fuille1 et 2, cela voudrait dire qu'a l'ouverture de mon fichier sauvegardé les macro vont efface les donnée. est-il possible de desactiver certaines macro a l'enregistrement?
voici mon code vba permettant la copie de 1 vers 2 :

Code : Sélectionner et copier le code

Sub CpyData()
  'but : copie en feuille "Edition", tout en 1ère colonne
  'sortie si la feuille active n'est pas "Questionnaire"
  If ActiveSheet.Name <> "Questionnaire" Then Exit Sub
  Dim TA, TB, k%, i, ligne_imageO, ligne_inter As Byte, imageO As String
  TA = Array(15, 13, 14) 'colonnes O, M, N
  TB = Array(23, 3, 45)  'bleu, rouge, orange
  Call Nettoie_edition
  Set sh = Worksheets("Edition") 'sh : feuille "Edition"
  With sh 'avec sh, donc avec la feuille "Edition"
    lg2 = 6 '3 => la 1ère ligne sera : 3 + 2 = 5
    For i = 0 To UBound(TA)
      With .Cells(lg2 + 1, 2)
        .Font.Size = 16
        .Font.Bold = -1: k = TA(i)
        .Font.ColorIndex = TB(i)
        .Value = Cells(1, k)
      End With
      If i = 1 Then
        ligne_imageO = lg2 + 2
      ElseIf i = 2 Then
        ligne_inter = lg2 + 1
      End If
      Job k, imageO
    Next i
    .Select
  End With

  Worksheets("Edition").Range("B1:B4").Value = Worksheets("Questionnaire").Range("E1:E4").Value
  
Call Mise_en_forme(imageO, ligne_imageO, ligne_inter)

  
End Sub
Merci à vous
  • Sujets similaires
    Réponses
    Vues
    Dernier message