> Tous les forums > Forum Bureautique
 Excel 2007 extraction feuille 1 dans feuille 2 avec mise en formeSujet résolu
Ajouter un message à la discussion
Pages : [1] 2 ... Fin
Page 1 sur 2 [Fin]
Cecilia2
  Posté le 16/07/2014 @ 21:43 
Aller en bas de la page 
Petite astucienne

Bonsoir,

J'ai un fichier excel 2007 en feuille 1, je souhaite le mettre dans la feuille 2 et que la mise en forme se fasse en automatique, j'ai bien essayé une base de donnée mais ce n'ai pas concluant.

Ci-joint le lien du fichier.

Merci par avance,

Cécilia

http://cjoint.com/?3GqvzQymBO1

Publicité
Pat6868
 Posté le 16/07/2014 à 22:08 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

bonsoir,

en sélectionnant toute la feuile 1

edition copier,

edition collage spécial "avec mise en forme"

A+

ferrand
 Posté le 16/07/2014 à 22:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Je ne comprends pas ce que tu veux ! Sur la feuille 1 il y a des directives de mises en forme, la feuille 2 est vide, et il y a une feuille Essai comportant un tableau.

Si c'est ce tableau que tu veux mettre en forme, il n'y a qu'à le faire ! Et supprimer la feuille 2 !

Pour le mettre en forme "automatiquement", il faut bâtir une macro ! Ce qui n'a d'intérêt pour une opération unique que si cela est plus rapide que de le faire manuellement. Ce qui n'est pas le cas ici !

Cecilia2
 Posté le 17/07/2014 à 07:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour,

Ce sont les directives de la feuille 1 que je souhaite lorsque je copierai la feuille 1 dans la feuille 2. (La feuille Essai reprend la directive de feuille1).

J'ai essayé la macro mais ce n'ai pas positif.

Bonne journée

ferrand
 Posté le 17/07/2014 à 08:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Toujours pas très clair ! Tu parles maintenant de copier feuille 1 (qui cependant ne comporte actuellement aucune donnée ) dans feuille 2 (c'est à dire alors coller).

Mais pourquoi copier-coller feuille 1 dans feuille 2 (dans le même classeur ). S'il s'agit de mettre ce contenu en forme, autant le faire sur feuille 1. On peut même ensuite renommer la feuille Feuil2 !

J'ai essayé la macro mais ce n'ai pas positif.

Quelle macro ?

Comme je l'ai dit la mise en forme faut la faire ! Ne se fera pas toute seule !

L'automatiser signifie macro, mais macro pour faire une mise en forme une fois n'a aucun intérêt.

Cecilia2
 Posté le 17/07/2014 à 18:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonsoir,

J'ai différentes extractions de fichiers, c'est pourquoi je souhaite automatiser.

Dans feuille 1, c'est une extraction en provenance d'un ancien progiciel, c'est pourquoi je fais un copier/collage spécial/valeur dans la feuille 2.

Ensuite j'ai fait une macro dans affichage macro enregistrer une macro avec la mise en forme que je souhaite.

Par contre, si j'ai un nouveau fichier avec plus de colonnes et ligne la macro ne prend pas en compte ses suppléments.

Ci-joint le fichier

http://cjoint.com/?3GrspSieSM2

Merci par avance

Cécilia

mpcdmu
 Posté le 18/07/2014 à 00:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

Bonsoir,

Pour moi non plus les explications ne me semblent pas très claires.

Toutefois je joins le fichier modifié à partir de ce que j'ai compris.

Dans ce fichier tout ce qui sera saisi dans la feuille "Essai" le sera automatiquement dans la "Feuille 2" pour la plage "A1 - R100".

Il est bien sûr possible d'étendre ou de réduire la plage et aussi de supprimer les zéros qui apparaissent dans la "feuille 2" en l'absence de saisie.

Cordialement.

http://cjoint.com/?0GsamPqegdn



Modifié par mpcdmu le 18/07/2014 00:53
ferrand
 Posté le 18/07/2014 à 01:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Ta macro, imbuvable comme toute macro enregistrée, a le mérite de fournir une information plus précise de ce que tu veux faire !

Alors il n'y a aucune raison pour que ton extraction insérée en Feuil1 soit ensuite recopiée pour être collée ailleurs ! Le résultat de l'extraction peut être mis en forme sur la même feuille.

Ta macro réécrite :

Sub MiseEnForme()
With ActiveSheet
With .UsedRange
.Font.Size = 10
With .Rows(1)
.RowHeight = 30
.Font.Bold = True
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlTop
End With
.Columns.AutoFit
With .Cells.Borders
.LineStyle = xlContinuous
.Weight = xlThin
End With
.AutoFilter
End With
With .PageSetup
.Orientation = xlLandscape
.LeftMargin = 0
.RightMargin = 0
.CenterHorizontally = True
End With
.Range("A2").Select
End With
ActiveWindow.FreezePanes = True
End Sub

Elle fonctionnera sur n'importe quelle feuille. Il convient cependant que l'insertion se fasse à partir de A1 et qu'il y ait une ligne d'en-têtes servie. [Si ce n'était pas le cas pour tous tes contenus transférés, il faudrait quelques petits ajustements pour qu'elle fonctionne également.]

http://cjoint.com/?DGsb3NapypG

Cecilia2
 Posté le 18/07/2014 à 07:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour Ferrand,

Je pense que la dernière réponse est parfaite, je l'essaie et reviens vers toi.

Bonne journée ensoleillée.

Cécilia2

Publicité
Cecilia2
 Posté le 21/07/2014 à 20:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonsoir,

Je l'ai installée sur mon poste à mon travail.

S' il y a moins de ligne le quadrillage ne se supprime pas.

Maintenant lorsque j’ouvre un autre fichier excel 2007 sur mon poste qui n’a pas de macro , il y a également un fichier qui se nomme PERSONA .xlsb qui s’ouvre en même temps.

Nous sommes en réseau et cette macro n’est pas disponible sur les postes.

http://cjoint.com/?DGvulvNxUCv

Merci par avance,

Bonne soirée

ferrand
 Posté le 21/07/2014 à 21:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

S' il y a moins de ligne le quadrillage ne se supprime pas.

Ça veut dire quoi ?

Ton fichier m'a l'air bon !

Cecilia2
 Posté le 21/07/2014 à 23:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Si j'efface le contenu d'une ligne ou d'une colonne entière, il reste toutes les bordures ?

ferrand
 Posté le 21/07/2014 à 23:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Ah ! Si tu effaces, tu vides les cellules mais elles restent place ! Pour les faire disparaître, il faut les supprimer.

Je ne comprends pas ce que tu veux faire, ni quel est le problème.

Cecilia2
 Posté le 22/07/2014 à 07:18 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour,

Excuse-moi si je n'utilise pas les bons termes. Ce sont les bordures.

Je ne sais pas pourquoi, dès que j'ouvre une feuille une feuille excel vierge ou pas, il y a également une feuille vide qui se nomme PERSONAl.XLSB qui s'ouvre en même temps.

Bonne journée,

Cécilia

ferrand
 Posté le 22/07/2014 à 08:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

PERSONAL.xlsb est un classeur de macro personnelle. En principe, il se place dans le dossier XLSTART afin de démarrer automatiquement à l'ouverture d'Excel et reste masqué. Les macros qu'il contient sont utilisables à partir de l'onglet Compléments. Il ne s'est pas créé tout seul !

Les bordures (j'avais traduit) : si tu veux enlever une ligne ou une colonne, tu sélectionnes la ligne ou la colonne, clic droit et Supprimer...

Cecilia2
 Posté le 22/07/2014 à 21:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonsoir,

Si PERSONAL.xlsb est un classeur de macro personnelle et si on est en réseau, la macro peut fonctionner que sur le poste ou elle a été crée ? Peux-tu me le confirmer ?

D'ailleurs je l'ai supprimé.

J'ai recréer la macro et sélectionner dans ce classeur à la place de classeur de macro personnel et là ça fonctionne sur d'autres postes.

Bonne soirée

ferrand
 Posté le 22/07/2014 à 23:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Le classeur PERSONAL.xlsb est destiné à te permettre de disposer des macros pour tous les travaux que tu fais sur ton ordi avec Excel. Il est ouvert avec Excel, normalement masqué (s'il est visible, il te faut l'afficher et le masquer avec la commande Masquer de l'onglet Affichage, et à la fermeture d'Excel ne pas omettre de valider la demande d'Excel d'enregistrer ce classeur, de façon qu'il demeure masqué par la suite). Mais il n'est effectivement disponible que sur l'ordi où il se trouve. Et non accessible en réseau car dans le dossier XLSTART de ton profil.

Publicité
Cecilia2
 Posté le 23/07/2014 à 09:04 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour,

Cecilia2
 Posté le 23/07/2014 à 09:09 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour,

Merci pour toutes ces informations, c'est parfait.

Maintenant, je souhaite affecter un bouton dans le ruban excel 2013 pour cette macro. Je l'ai fais dans excel 2007 et c'est pratique.

Merci par avance.

Bonne journée

Cecilia2
 Posté le 05/09/2014 à 09:09 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour,

Je souhaiterai rajouter dans cette macro les éléments suivants :

Colonne A et B, alignement à gauche

Colonne F, 2 décimales

Sub MiseEnForme()

With ActiveSheet

With .UsedRange

.Font.Size = 10

With .Rows(1)

.RowHeight = 30

.Font.Bold = True

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlTop

End With

.Columns.AutoFit

With .Cells.Borders

.LineStyle = xlContinuous

.Weight = xlThin

End With

.AutoFilter

End With

With .PageSetup

.Orientation = xlLandscape

.LeftMargin = 0

.RightMargin = 0

.CenterHorizontally = True

End With

.Range("A2").Select

End With

ActiveWindow.FreezePanes = True

End Sub

Merci par avance

Cécilia

Cecilia2
 Posté le 05/09/2014 à 11:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour,

J'ai fait les modifications suivantes :

- Alignement gauche colonne A et B et la macro fonctionne

- 2 décimales pour la colonne F mais là ça bloque sur .PageSetup

Sub MiseEnForme()
With ActiveSheet
With .UsedRange
.Font.Size = 10
With .Rows(1)
.RowHeight = 30
.Font.Bold = True
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlTop
End With
Columns("A:A").Select
With Selection
.HorizontalAlignment = xlLeft
End With
Columns("B:B").Select
With Selection
.HorizontalAlignment = xlLeft
End With
Columns("F:F").Select
Selection.NumberFormat = "0.00"
End With
.Columns.AutoFit
With .Cells.Borders
.LineStyle = xlContinuous
.Weight = xlThin
End With
.AutoFilter
End With
With .PageSetup
.Orientation = xlLandscape
.LeftMargin = 0
.RightMargin = 0
.CenterHorizontally = True
End With
.Range("A2").Select
End With
ActiveWindow.FreezePanes = True
End Sub

Merci

ferrand
 Posté le 06/09/2014 à 12:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

Pas vraiment productif de réintroduire n'importe comment dans une macro réécrite des fragments de macros enregistrés... !

Sub MiseEnForme()
With ActiveSheet
With .UsedRange
.Font.Size = 10
.Columns("A:B").HorizontalAlignment = xlLeft
With .Rows(1)
.RowHeight = 30
.Font.Bold = True
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlTop
End With
.Columns(6).NumberFormat = "0.00"
.Columns.AutoFit
With .Cells.Borders
.LineStyle = xlContinuous
.Weight = xlThin
End With
.AutoFilter
End With
With .PageSetup
.Orientation = xlLandscape
.LeftMargin = 0
.RightMargin = 0
.CenterHorizontally = True
End With
.Range("A2").Select
End With
ActiveWindow.FreezePanes = True
End Sub

1) L'absence de point devant la propriété appelée pour renvoyer une plage colonne supprime la référence au qualificateur d'objet (ActiveSheet.UsedRange) et ce n'est donc plus la même plage qui est renvoyée, même si au cas particulier la plage recherchée est tout de même incluse dans la plage renvoyée.

2) La sélection propre aux enregistrements de macro est toujours inutile lorsque l'action ne vise pas exclusivement à sélectionner. Elle ne fait que demander à VBA des actions supplémentaires superflues.

3) Deux colonnes successives formant une même plage d'un seul tenant, une seule ligne de commande suffit pour lui affecter le format voulu.

4) Si le format des colonnes (sans distinction de la première ligne) est réalisé après le formatage de la ligne 1, il se substituera partiellement au format affecté à la ligne 1, il doit donc être réalisé avant.

Cecilia2
 Posté le 10/09/2014 à 22:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonsoir,

C'est parfait.

Encore un grand merci.

Bonne soirée

Cecilia2
 Posté le 25/09/2014 à 10:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour,

J’ai rajoutéalignement à gauche colonne C à la ligne ci-dessous.

.Columns("A:B").HorizontalAlignment = xlLeft

Lorsque je lance la macro, j’ai la fenêtre suivante :

Microsoft Visuel Basic

Erreur d’exécution ‘13’

Incompatibilité de type

Merci par avance,

Cécilia

ferrand
 Posté le 25/09/2014 à 13:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Pour inclure la colonne C dans la commande d'alignement à gauche :

.Columns("A:C").HorizontalAlignment = xlLeft

Cecilia2
 Posté le 25/09/2014 à 15:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour,

Merci encore.

Bonne journée.

Cécilia

Publicité
Pages : [1] 2 ... Fin
Page 1 sur 2 [Fin]

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Excel 2007, extraction feuille 1 dans feuille 2
Excel 2007 Copier/Coller d’une feuille à l’autre Dans un même classeur.
Copier feuille 1 dans feuilles 2 et 3 avec mise à jour
Excel 2007 insérer image dans feuille technique
Déplacer/Copier une feuille dans excel 2007
excel 2007 combien de colonnes dans une feuille ?
Urgent feuille Excel vers Word avec mise en page
2 pages par feuille dans macro excel
mettre a jour liason feuille excel 2007
Garder la forme d'un texte répété dans une autre feuille
Plus de sujets relatifs à Excel 2007 extraction feuille 1 dans feuille 2 avec mise en forme
 > Tous les forums > Forum Bureautique