Recopie valeurs et mise en page

azerty67

XLDnaute Occasionnel
:) Bonjour à tous,

Voilà, je bute sur un problème.

Je souhaiterai grâce aux macros de copie que j'ai crée sur la feuille "BASE" et sur la feuille1 copier également la mise en page car lors de copie je perd celle-ci et ça ne m'arrange pas du tout :eek:

Y a-t'il une solution? j'ai cherché mais je n'ai pas trouvé exactement ce que je voulais. Merci à vous

Fichier allégé mais encore trop volumineux donc voici le lien
Cijoint.fr - Service gratuit de dépôt de fichiers
 

youky(BJ)

XLDnaute Barbatruc
Re : Recopie valeurs et mise en page

Salut,
Voici un code pour créer une copie de "Base"
en remplacant Feuil1 par la copie
ensuite tu peux toujours enlever ce que tu ne souhaite pas
Code:
Sub MaCopie()
Application.DisplayAlerts = False 'sup la confirmation
On Error Resume Next ' si Feuil1 n'existe pas
Sheets("Feuil1").Delete
Application.DisplayAlerts = True
Sheets("BASE").Copy After:=Sheets(Sheets.Count) 'fait une copie de Base
ActiveSheet.Name = "Feuil1" 'on renomme
End Sub
 

azerty67

XLDnaute Occasionnel
Re : Recopie valeurs et mise en page

Salut,
Voici un code pour créer une copie de "Base"
en remplacant Feuil1 par la copie
ensuite tu peux toujours enlever ce que tu ne souhaite pas
Code:
Sub MaCopie()
Application.DisplayAlerts = False 'sup la confirmation
On Error Resume Next ' si Feuil1 n'existe pas
Sheets("Feuil1").Delete
Application.DisplayAlerts = True
Sheets("BASE").Copy After:=Sheets(Sheets.Count) 'fait une copie de Base
ActiveSheet.Name = "Feuil1" 'on renomme
End Sub

Merci youky.
Mais dans la feuille "BASE" je ne recopie que certaines infos vers la feuille "BASE SUIVI" dans laquelle d'autres infos viennent se greffer. Pour la "feuille1" je n'ai besoin que de certaines infos de la feuille "BASE SUIVI"

Ce que je souhaite c'est pouvoir intégrer dans les deux macros de copie, la copie de la mise en page mais je ne sais et ne trouve pas.

J'espère avoir été clair :rolleyes:
Merci encore;)
 

youky(BJ)

XLDnaute Barbatruc
Re : Recopie valeurs et mise en page

re:
Voici qlq lignes de code mais je bn'ai fait que pour les 1ere colonne, il sera facile pour toi de continuer.
Attention à bien mettre le 198 au lieu du 200 pour les 2eme lignes
Par cette méthode on ne copie que la valeur et tu conserves l'ancienne mise en forme

Code:
Sheets("Feuil1").[A5:B200].Value = _
Sheets("Base").[A3:B198].Value

Sheets("Feuil1").[C5:C200].Value = _
Sheets("BASE").[G3:G198].Value
   
Sheets("Feuil1").[D5:D200].Value = _
Sheets("BASE").[H3:H198].Value
et la suite du code pour les autres colonnes

A+
 

azerty67

XLDnaute Occasionnel
Re : Recopie valeurs et mise en page

re:
Voici qlq lignes de code mais je bn'ai fait que pour les 1ere colonne, il sera facile pour toi de continuer.
Attention à bien mettre le 198 au lieu du 200 pour les 2eme lignes
Par cette méthode on ne copie que la valeur et tu conserves l'ancienne mise en forme

Code:
Sheets("Feuil1").[A5:B200].Value = _
Sheets("Base").[A3:B198].Value

Sheets("Feuil1").[C5:C200].Value = _
Sheets("BASE").[G3:G198].Value
   
Sheets("Feuil1").[D5:D200].Value = _
Sheets("BASE").[H3:H198].Value
et la suite du code pour les autres colonnes

A+

Merci je viens rentrer, je vais essayer ce code et te tiens au courant;)
 

azerty67

XLDnaute Occasionnel
Re : Recopie valeurs et mise en page

re:
Voici qlq lignes de code mais je bn'ai fait que pour les 1ere colonne, il sera facile pour toi de continuer.
Attention à bien mettre le 198 au lieu du 200 pour les 2eme lignes
Par cette méthode on ne copie que la valeur et tu conserves l'ancienne mise en forme

Code:
Sheets("Feuil1").[A5:B200].Value = _
Sheets("Base").[A3:B198].Value

Sheets("Feuil1").[C5:C200].Value = _
Sheets("BASE").[G3:G198].Value
   
Sheets("Feuil1").[D5:D200].Value = _
Sheets("BASE").[H3:H198].Value
et la suite du code pour les autres colonnes

A+

Donc :

Sheets("Feuil1").[A5:B200].Value = _
Sheets("Base").[A3:B198].Value


Les valeurs de la feuille 1 comprises dans A5 --> B200 prennent les valeurs de la feuille BASE en A5 --> B200 en gardant la mise en page


Sheets("Feuil1").[C5:C200].Value = _
Sheets("BASE").[G3:G198].Value


Les valeurs de la feuille 1 comprises dans C5 --> C200 prennent les valeurs de la feuille BASE en G3 --> G198 en gardant la mise en page


Sheets("Feuil1").[D5:d200].Value = _
Sheets("BASE").[H3:H198].Value


Les valeurs de la feuille 1 comprises dans D5 --> D200 prennent les valeurs de la feuille BASE en H3 --> H198 en gardant la mise en page

Corrige moi si je me trompe et merci je regarde pour l'adapter;)
Ok ça a l'air d'être ok sauf pour ce code correspondant à une date, la mise en page n'est pas la même au niveau de la police (10 au lieu de 8)

Sheets("BASE SUIVI").[K3:K200].Value = _
Sheets("BASE").[K3:K198].Value

Je continue à tester :);)

Par contre pkoi faut-il mettre 198 et pas 200 dans les codes base ?
 
Dernière édition:

youky(BJ)

XLDnaute Barbatruc
Re : Recopie valeurs et mise en page

Tu ne dis même pas si la macro conviens ou non ! ! !
Comme tu cherches encore de l'aide explique ce qui ne va pas.....
J'ai raccourci la macro dans le but de te satisfaire.
Maintenant bye bye

Code:
Sub export_jlk()
' export_jlk
With Sheets("Feuil1")
.[A5:B200].Value = Sheets("Base").[A3:B198].Value
.[C5:C200].Value = Sheets("BASE").[G3:G198].Value
.[D5:D200].Value = Sheets("BASE").[H3:H198].Value
.[E5:E200].Value = Sheets("BASE").[J3:J198].Value
.[H5:H200].Value = Sheets("BASE").[Q3:Q198].Value
.[G5:G200].Value = Sheets("BASE SUIVI").[M3:M198].Value
.[I5:K200].Value = Sheets("BASE SUIVI").[O3:Q198].Value
End With
End Sub

PS:
Pour les heures ton format est bien en 10 au départ donc mets les en 8
La macro ne modifie en rien la taille.
Il serait bon de rassembler toutes tes macros dans le même module.(A voir)
 
Dernière édition:

azerty67

XLDnaute Occasionnel
Re : Recopie valeurs et mise en page

Tu ne dis même pas si la macro conviens ou non ! ! !
Comme tu cherches encore de l'aide explique ce qui ne va pas.....
J'ai raccourci la macro dans le but de te satisfaire.
Maintenant bye bye

Code:
Sub export_jlk()
' export_jlk
With Sheets("Feuil1")
.[A5:B200].Value = Sheets("Base").[A3:B198].Value
.[C5:C200].Value = Sheets("BASE").[G3:G198].Value
.[D5:D200].Value = Sheets("BASE").[H3:H198].Value
.[E5:E200].Value = Sheets("BASE").[J3:J198].Value
.[H5:H200].Value = Sheets("BASE").[Q3:Q198].Value
.[G5:G200].Value = Sheets("BASE SUIVI").[M3:M198].Value
.[I5:K200].Value = Sheets("BASE SUIVI").[O3:Q198].Value
End With
End Sub

PS:
Pour les heures ton format est bien en 10 au départ donc mets les en 8
La macro ne modifie en rien la taille.
Il serait bon de rassembler toutes tes macros dans le même module.(A voir)

:confused:Je ne voulais pas te froisser loin de moi cette idée et tes idées sont très bonne, désolé de ne pas avoir répondu plus vite.
Si je ne t'ai pas dis si la macro me plaisait c'est seulement que je suis parti entretemps. Et si je demande une idée c'est seulement pour apprendre avec d'autres astuces aussi bonnes que les tiennes.

Je ne comprend pas pkoi tu te méprends à ce point, je sais que bcp de monde s'investit pour aider les autres et je leur tire mon chapeau ainsi qu'à toi. Seulement il faut par moment ne pas se méprendre sur des personnes :)

Je te souhaite une bonne soirée et à bientôt j'espère
 

Discussions similaires

Réponses
1
Affichages
1 K