Modifier code
#1
Débutant XLPages

Inscription: 09/06/2009

Messages: 4

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 09-06-2009 05h28

Bonsoir MDF, le Forum,

Je cherche à modifier un code qu’on m’a refilé sur un autre forum Excel pour les besoins de mon classeur multi feuilles comportant plusieurs tableaux.

Le bouton macro SAUVEGARDER du Tableau 1 devrait enregistrer uniquement la plage du Tableau 1 nommée Tab_1 dans une feuille (en respectant la mise en page de la feuille source) ou, préférablement, dans un modèle préformaté (avec entête personnalisée) et préenregistré dans un répertoire.

Le bouton macro SAUVEGARDER du Tableau 2 devrait enregistrer uniquement la plage du Tableau 2 nommée Tab_2 et ainsi de suite…

Ci-joint fichier explicatif.

Merci d’avance pour votre aide et bonne soirée.





Pièce jointe:
zip Exemple_bd_city.zip   [ Taille: 21.32 Ko - Téléchargements: 441 ]
Hors Ligne
Rapport   Haut 

Re: Modifier code
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 09-06-2009 20h06
Bonsoir bd_city et bienvenue sur XLpages.com

Quelques questions si tu veux bien :

- Tu parles d'un classeur modèle préformaté : peux-tu le joindre également ? En quoi est-il préformaté ? S'agit-il seulement d'entête personnalisée pour l'impression ou y a t'il d'autres éléments qu'on devra retrouver dans ce préformatage ?
(Si s'agit seulement d'un problème d'entête, je pense qu'il est préférable - et moins lourd - d'envisager sa création par macro lors du traitement plutôt que de chercher à recopier l'onglet DANS un modèle particulier)
- Chaque tableau doit être recopié dans un classeur individuel ?
- Tu parles de respecter "l'agencement" des tableaux : c'est à dire ? Si je prends l'exemple du Tableau 2 qui commence à la ligne 25, cela veut-il dire qu'il faut que dans le nouveau fichier, ce tableau commence également en ligne 25 ? Et rien avant ?
- Si j'ai bien compris, on doit faire disparaitre les boutons (et le code associé j'imagine) dans les classeurs créés, c'est bien ça ?

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Modifier code
#3
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 09-06-2009 21h03
... cela dit, je viens de m'apercevoir que d'autres planchent déjà sur la même question et comme je respecte les efforts d'autrui, je mets fin à mes investigations sur le sujet.

Cordialement,



Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Modifier code
#4
Débutant XLPages

Inscription: 09/06/2009

Messages: 4

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 10-06-2009 05h14

Bonsoir MDF, le Forum,

 

Je te remercie d’avance pour ton aide.

 

Pour répondre à tes questionnements, je m’explique :

 

1- Par modèle pré formaté, je voulais dire une feuille format xls - genre Template - avec une mise en page spécifique (orientation de la page, échelle, format marges, pied de page) arborant une entête personnalisé (image et texte) et qui servira de feuille-modèle aux tableaux enregistrés par les boutons macros. Cette feuille sera préenregistrée dans le même répertoire que le classeur. Le bouton SAUVEGARDER devra ouvrir cette feuille, y coller le tableau (dans le fichier joint : Tableau 1, Tableau 2…) préalablement définit par une plage nommée (Tab_1, Tab_2…).

 

Ainsi, chaque utilisateur pourra conserver, comme copie de sauvegarde, un tableau sélectionné ou l’imprimer directement sans avoir à mettre en page la feuille et d’y ajouter l’entête personnalisée de son service.

 

2- Par respecter l’agencement des tableaux (le terme est peut être inapproprié), je voulais dire que chaque tableau enregistré dans le modèle (feuille cible) - sous un répertoire définit par l’utilisateur - devra respecter la mise en forme du tableau source et plus particulièrement la largeur des colonnes et la hauteur des lignes et ce, afin de permettre l’affichage convenable du tableau de la feuille cible.

 

Étant donné que tous les tableaux ont un format identique (même nombre colonnes/lignes), chaque tableau devra être collé à la feuille-modèle à partir de la cellule A6 pour laisser une marge à l’entête.

 

3- Chaque tableau devra être enregistré individuellement - dans ce modèle de feuille - en tant que feuille xls.

 

4- Effectivement, on peut se passer des boutons ENREGISTRER et IMPRIMER dans les feuilles cibles. L’utilisateur pourra imprimer tout de go la feuille à partir du menu Fichier-Imprimer d’où l’utilité encore une fois d’enregistrer dans une feuille-modèle (Template).

 

Espérant répondre à vos questionnements,

 

Cordialement,

bd_city



Hors Ligne
Rapport   Haut 

Re: Modifier code
#5
Débutant XLPages

Inscription: 09/06/2009

Messages: 4

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 10-06-2009 05h27

Re bonsoir MDF, le Forum,

 

… Par contre, je n’ai pas bien saisi le message de ton 2e post :

 

Le renvoi à un fil d’un autre forum me semble déplacé autant que l’argumentaire avancé. On est bien sur deux forums spécialisés pour apprendre et partager des connaissances avec l’ensemble des membres. Aussi, je ne vois vraiment pas comment votre réponse à mon problème peut-elle ébrécher le respect d’autres membres ou déprécier, d’une quelconque façon, leurs efforts !     

 

Sollicitant de l’aide dans votre Forum suppose que je n’ai pas reçu une solution adaptée à mes besoins sans pour autant déconsidérer les efforts des membres qui ont daigné me répondre sur d’autres fils. Loin de là l’idée d’insinuer que leurs réponses étaient vaines ou erronées !

 

Enfin, j’estime que des réponses différentes pour un même fil sur deux forums différents ne font qu’enrichir ces mêmes forums en étoffant leurs bases de données toujours utiles à leurs membres respectifs mais aussi à l’ensemble des internautes de tous horizons en quête de connaissance ou d’assistance.  

 

Respectueusement,

 

bd_city





Hors Ligne
Rapport   Haut 

Re: Modifier code
#6
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 11-06-2009 00h29
Bonsoir bd_city, le Forum,

Tout d'abord, je comprends tout à fait le sens de ta remarque par rapport à mon 2ème post. Aussi, je t'invite (si tu le veux bien) à consulter "mon point de vue" sur la question sous ce lien : FAQ - [Site] En quoi le multiposts est-il dérangeant dans les Forums ?
Au fil des rencontres que j'ai pu faire depuis que je parcours les Forums, je pense que d'autres partagent ce même point de vue.

Cela dit, comme PMO2 ne donne visiblement pas suite à ton fil d'XLD cité plus haut, tu trouveras une proposition en pièce jointe.
Il y a 2 fichiers dans cette pièce jointe : ton fichier modifié selon ta demande ainsi qu'un modèle de classeur (Template.xlt) à adapter par tes soins (entête, etc...) et à sauvegarder toujours dans le même dossier.

J'ai utilisé le code suivant dans un module de code standard :
Option Explicit

Sub Sauvegarde(N As Byte)
'myDearFriend!  -  www.mdf-xlpages.com
Dim Chemin
Dim ShCible As Worksheet, ShSource As Worksheet
Dim Nom As String
Dim L As Long
    Application.ScreenUpdating = False
    Chemin = ThisWorkbook.Path
    Set ShSource = ThisWorkbook.ActiveSheet
    On Error Resume Next
    Set ShCible = Workbooks.Open(Chemin & "/Template.xlt").Sheets(1)
    On Error GoTo 0
    If ShCible Is Nothing Then
        MsgBox "Fichier 'Template.xlt' introuvable !"
        Exit Sub
    End If
    With ShSource.Range("Tab_" & CStr(N))
        .Copy Destination:=ShCible.Range("C6")
        For L = 1 To .Columns.Count
            ShCible.Columns(L + 2).ColumnWidth = .Columns(L).ColumnWidth
        Next L
        For L = 1 To .Rows.Count
            ShCible.Rows(L + 5).RowHeight = .Rows(L).RowHeight
        Next L
    End With
   
    Nom = "T" & CStr(N) & "_" & Format(Date, "dd-mm-yyyy_") & Format(Time, "h-mm-ss")
    ShCible.Name = Nom
    Application.ScreenUpdating = True
    Chemin = Application.GetSaveAsFilename(Nom & ".xls", "FICHIER EXCEL(*.xls), *.xls", 1, "Sauvegarde personnalisée")
    If Chemin <> False Then
        ActiveWorkbook.Close True, Chemin
        MsgBox "Classeur enregistré dans : " & Chemin, vbInformation + vbOKOnly, "AFFICHAGE DU REPERTOIRE DE SAUVEGARDE"
    End If
End Sub

En espérant que ça corresponde à ton besoin.

Cordialement,



Pièce jointe:
zip PourBd_city.zip   [ Taille: 29.78 Ko - Téléchargements: 507 ]

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Modifier code
#7
Débutant XLPages

Inscription: 09/06/2009

Messages: 4

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 11-06-2009 06h49

Bonsoir Maître MDF, le Forum,

 

Oui… t’es un vrai Maître !

J’ai vraiment admiré ta démonstration "VBA haute voltige" que j’ai appliqué en un tour de main à mon classeur. Ça marche à merveille et c’est exactement ce que je cherchais depuis un bout de temps !

 

Encore un gros merci pour tout le temps que t’as consacré pour m’aider et à la prochaine My Dear Friend.


Ton disciple dévoué,

bd_city

P.S. : Tel que convenu :
www.excel-downloads.com/forum/ ... ans-mod-le-pr-format.html









Hors Ligne
Rapport   Haut 

Re: Modifier code
#8
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 11-06-2009 20h23
Bonsoir bd_city, le Forum,

Merci de ton retour. Content que ça te convienne.

Bien cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes