Copie feuille et la renommer et impriession sous condition

Tazko

XLDnaute Nouveau
Bonjour,

J'ai pris un code qui est posté sur le forum par Banzai,

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Nom As String
Dim NomUtil As String
Dim Compteur As Integer

If Not Intersect(Range("C7"), Target) Is Nothing And Target.Count = 1 Then
If Target = "" Then Exit Sub
Nom = Format(Range("c7"), "dd-mm")
NomUtil = Nom
Do While FeuilleExiste(NomUtil) = True
Compteur = Compteur + 1
NomUtil = Nom + " - " & Format(Compteur, "00")
Loop
Sh.Name = NomUtil
End If

End Sub

il fonctionne bien pour les feuilles existante, je voulais savoir si je peux l'adapter a mon cas et j'auaris besoin d'aide S'il vous plais

1 je souhaite a chaque fois que je copie une nouvelle feuille l'onglet prendra la date automatiquement renseigné en C7 ou une nouvelle date que je saisie ; j'ai utilisé le code ActiveSheet.Copy after:=ActiveSheet via un bouton mais ca marche pas visiblement pour moi.

Ensuite Je veux imprimer une feuille masquée dans le meme dossier, via le bouton imprimer en utilisant ce code



des feuilles deja copié auparavant en transferant C11 et F10 de la feuille selectionnee vers c5 et c9 vers la feuille Impression et ainsi de suite.

Je vous joint l'exemple détaillé.

En vous remerciant d'avance
 

Pièces jointes

  • tazko.xls
    34.5 KB · Affichages: 40

Tazko

XLDnaute Nouveau
Bonjour tout le monde,

J'ai eu la solution pour la premiere partie grace a Mercatog sur un autre forum ;ci-joint si jamais c'interresse quelqu'un.

Pour la deuxieme partie j'ai essayé ce code pour imprimer la feuille masquée a partir de n'importe quelle feuille du fichier, j'arrive a imprimer mais ca copie pas les cellule..

Sub Rectangle4_QuandClic()
Selection.Copy
Sheets("IMPRESSION").Select
Range("B9").Select
ActiveSheet.Paste
Sheets("12-12").Select
Range("F10").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("IMPRESSION").Select
Range("C9").Select
ActiveSheet.Paste
Application.Dialogs(xlDialogPrinterSetup).Show

Sheets("IMPRESSION").Visible = True
Sheets("IMPRESSION").Activate
Sheets("IMPRESSION").PrintOut
Sheets("IMPRESSION").Visible = False
End Sub

Quelqu'n peutm'aider S'il vous plait

A vous lire et merci d'avance
 

Pièces jointes

  • tazko1.xls
    99.5 KB · Affichages: 47

kjin

XLDnaute Barbatruc
Re : Re: Copie feuille et la renommer et impriession sous condition

Bonsoir,
Code:
Sub NewFeuille()
Dim f$, ws As Worksheet
If Not IsDate([C7]) Then Exit Sub
f = CStr(Format([C7], "dd-mm-yyyy"))
On Error Resume Next
Set ws = Sheets(f)
On Error GoTo 0
If ws Is Nothing Then
    ActiveSheet.Copy after:=Sheets(Sheets.Count)
    ActiveSheet.Name = f
End If
End Sub

Sub Impression()
Application.ScreenUpdating = False
Set ws = Sheets("Impression")
With ws
    .Range("C5") = Range("B10")
    .Range("C9") = Range("C11") & Range("F10")
    .Visible = True
    .PrintOut
    .Visible = False
End With
End Sub
A+
kjin
 

Tazko

XLDnaute Nouveau
Re: Re : Re: Copie feuille et la renommer et impriession sous condition

Bonjour kijn,

Ton code fonctionne très bien et je te remercie beaucoup, merci aussi a banzai 64(autre forum) pour son code
Sub Rectangle4_QuandClic()

Application.ScreenUpdating = False
With Sheets("Impression")
.Range("C5") = Range("C11")
.Range("C9") = Range("F10")
.Visible = xlSheetVisible
.PrintPreview ' Pour avoir aperçu avant impression
' Ou
'.PrintOut ' Pour impression directe
.Visible = xlSheetHidden
End With
End Sub

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 677
Messages
2 090 815
Membres
104 673
dernier inscrit
lautard