Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copie d'une feuille sans code

  • Initiateur de la discussion Initiateur de la discussion Ilino
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Ilino

XLDnaute Barbatruc
Bonjour Forum
Je sais que ce n’est pas le bon moment, mais permettez moi de postuler mo souci
Ci-joint un fichier exemple, je l’ai ajusté selon les exemples de ce forum (un grand merci pour les bénévoles de ce forum), je souhaiterai enregistrer une copie de la feuille « Rapport Activités » mais sans le code ?
Gracie
NB: c'est la suite de mon file precedent
 

Pièces jointes

Re : Copie d'une feuille sans code

Bonjour Ilino, le forum,

Peut être avec une macro de ce type :

VB:
Sub Copie_Feuille()
    Sheets("Rapport Activitées").Copy
    ChDir "C:\TON REPERTOIRE"
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:="C:\TON REPERTOIRE\TON FICHIER.xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub

A te relire

Martial

Edit : Bonjour 00, content de te voir.
 
Dernière édition:
Re : Copie d'une feuille sans code

Bonjour Ilino, le Forum,

Voici comment écrire ta macro dans le module2 :

Code:
'CREER UNE COPIE DU RAPPORT -------------------
Sub Construit()
finLg = Range("SOMAIRE!A65536").End(xlUp).Row
num = Val(Range("SOMAIRE!A" & finLg)) + 1
Sheets.Add Before:=Sheets("Rapport Activitées")
Sheets("Rapport Activitées").Cells.Copy
With ActiveSheet
  .Paste
  .Name = "Rapport_N° " & Range("k2") & "_" & Range("k3")
End With
Range("SOMAIRE!A" & finLg + 1) = num
Range("SOMAIRE!B" & finLg + 1) = Date
Range("SOMAIRE!C" & finLg + 1) = Time
End Sub
Ce code ajoute une feuille en première position, la renomme puis y colle les valeursde la feuille 1. Pas besoin donc d'effacer le code puisque seules les cellules sont copiées.

Cordialement.

PS : bises à cette chère petite ânesse, et bon dimanche à tous.

Oups : bonjour à toi aussi, Martial.
 
Re : Copie d'une feuille sans code

Bonjour FORUM, 00, yal00, Papou
Merci pour tous le monde...
@ PAPOU: ça fonctionne tres bien mnt, mais il reste la formule dans la cel A3, parceque si je change (par exemple la date de mon PC ) toutes les titres des feuilles enregistrées Changent....
merci
 
Re : Copie d'une feuille sans code

@ PAPOU: ça fonctionne tres bien mnt, mais il reste la formule dans la cel A3, parceque si je change (par exemple la date de mon PC ) toutes les titres des feuilles enregistrées Changent....

RE :

Il suffit donc d'ajouter une ligne pour remplacer la formule la nouvelle feuille par son résultat :

Code:
'CREER UNE COPIE DU RAPPORT -------------------
Sub Construit()
finLg = Range("SOMAIRE!A65536").End(xlUp).Row
num = Val(Range("SOMAIRE!A" & finLg)) + 1
Sheets.Add Before:=Sheets("Rapport Activitées")
Sheets("Rapport Activitées").Cells.Copy
With ActiveSheet
  .Paste
  .Name = "Rapport_N° " & Range("k2") & "_" & Range("k3")
  .Range("K1").Value = Feuil1.Range("K1").Value
End With
Range("SOMAIRE!A" & finLg + 1) = num
Range("SOMAIRE!B" & finLg + 1) = Date
Range("SOMAIRE!C" & finLg + 1) = Time
End Sub
Cordialement.
 
Re : Copie d'une feuille sans code

RE :

Ou mieux encore :

La formule de la cellule A3 est remplacée par du texte et j'ai supprimé les colonnes I:AC qui me paraissent inutiles dans le cadre d'un rapport destiné à être imprimé et difusé. Du moins, c'est ce que je suppose :

Code:
'CREER UNE COPIE DU RAPPORT -------------------
Sub Construit()
finLg = Range("SOMAIRE!A65536").End(xlUp).Row
num = Val(Range("SOMAIRE!A" & finLg)) + 1
Sheets.Add Before:=Sheets("Rapport Activitées")
Sheets("Rapport Activitées").Cells.Copy
With ActiveSheet
  .Paste
  .Name = "Rapport_N° " & Range("k2") & "_" & Range("k3")
  .Range("A3") = "Rapport d'Activités de la semaine N°  " & Feuil1.Range("K2").Value & _
    " de l'année " & Feuil1.Range("K3").Value
  .Range("I:AC").Delete
End With
Range("SOMAIRE!A" & finLg + 1) = num
Range("SOMAIRE!B" & finLg + 1) = Date
Range("SOMAIRE!C" & finLg + 1) = Time
End Sub
Cordialement.
 
Re : Copie d'une feuille sans code

Re papou
merci mnt ça fonctionne comme JE VOULAIS.... super
Si vous permettez un autre souci dans le même fichier :
Dans ce code
Code:
Private Sub Workbook_Open()
'**1****************************************** feuille de l'ouverture
Sheets("Rapport Activitées").Select
'**1******************************************

'**2****************************************** message d'accueil
MsgBox "Création ILINO RAMOS  Décembre 2012"
'**2******************************************

'**3****************************************** la derniere ligne vide
Dim L As Integer
  Application.ScreenUpdating = False
  With Sheets("Rapport Activitées")
    On Error Resume Next
    Range("B7:B32").SpecialCells(xlCellTypeBlanks).Cells(1, 1).Select
    On Error GoTo 0
       End With
  Application.ScreenUpdating = True
'**3******************************************
End Sub
Je voudrais ajouter une commande pour remise a zéro la feuille « Rapport Activités » après chaque enregistrement
MERCI
 
Dernière édition:
Re : Copie d'une feuille sans code

Je voudrais ajouter une commande pour remise a zéro la feuille « Rapport Activités » après chaque enregistrement

Désolé Ilino,

Mais je ne comprends le rapport de ta question avec le code qu tu présentes :

Code:
Private Sub Workbook_Open()
...
End Sub
Quelle est la zone de la feuille "Rapport Activités" que tu veux remettre à zéro ?

Je pense que cette opération doit être intégrée à la macro du module2.

A te lire.

Cordialement.
 
Re : Copie d'une feuille sans code

re papou
je suis désole pour le retard
mon souci est DE mettre le tableau SEULEMENT a zero apres chaque enregistrement( via le bouton SAVE)
et pour le code je l'ai proposé ( et je ne suis pas sure )
merci
a+
 
Re : Copie d'une feuille sans code

Re :

A mon tour d'être désolé du retard.

Voici ton fichier avec la macro du bouton Save complétée. Mais je ne suis pas sûr d'avoir compris car la procédure Change de Feuil1 fusionne les cellules. Alors je te laisse le soin de voir si ça répond à ta question.

Cordialement.
 

Pièces jointes

Re : Copie d'une feuille sans code

Re salut Papou
oups alerte....😕
je p refaire reste dans l'exemple poste #7
apparemment je n'arrive a exprimer mon souci
Alors peut on avoir un coud de pouce pour terminer mon fichier .
merci par avance et bon début de semaine😎
 
Dernière édition:
Re : Copie d'une feuille sans code

Bonjour Forum et bon debut de semainne
mon souci de Réinitialisation des cellules du tableau est résolu de cette facon
code dans ThisWorkbook

Code:
Private Sub Workbook_Open()
Range("B7,B8,B9,B10,B11,B12,B13,B14,B15,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,D7,D8,D9,D10,D11,D12,D13,D14,D15,D16,D17,D18,D19,D20,D21,D22,D23,D24,D25,D26,D27").ClearContents
End Sub

Ungrand Merci pour tous et toutes
Gracie
 
Re : Copie d'une feuille sans code


Bonjour à tous,

Bonjour Ilino,

Pourquoi pas tout simplement :

Code:
Private Sub Workbook_Open()
Range("B7:D27").ClearContents
End Sub
As-tu essayé, ça na marche pas ?

Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
40
Affichages
3 K
M
Réponses
6
Affichages
1 K
mimich_88
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…