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 :
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