> Tous les forums > Forum Bureautique
 Excel 2007 extraction feuille 1 dans feuille 2 avec mise en formeSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
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
  Maître 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

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

Soutenez PC Astuces

PC Astuces a besoin de vous pour survivre. Nos conseils et astuces vous ont aidé ? Vous avez résolu un problème sur votre ordinateur ? Vous avez profité de nos bons plans ? Aidez-nous en retour avec un abonnement de soutien mensuel.


5 € par mois 10 € par mois 20 € par mois


Gérer son abonnement

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.

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

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

Bonjour Ferrand,

Est- il possible de rajouter :

Un tri croissant sur la colonne E

A chaque changement de mettre la première cellule en fluo (par exemple 1ère cellule AA, BB idem)

Merci par avance,

Cécilia

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

Pour le tri :

(...)
With .Cells.Borders
.LineStyle = xlContinuous
.Weight = xlThin
End With
.Sort key1:=.Cells(1, 5), order1:=xlAscending, Header:=xlYes
.AutoFilter
End With
(...)

A chaque changement de mettre la première cellule en fluo (par exemple 1ère cellule AA, BB idem)

Quelle cellule exactement ? Et que veut dire "fluo" ?

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

Colonne E, Colonne de droite, voilà ce que je souhaite, et dans la macro ci-dessus je le mets ou ?

EA3C2 EA3C2
UA6A FA5C
WA3E1 FA5D
GA8E+I GA8E+I
FA5D SB1A
FA5C SB1B
WB5K UA6A
WB5N WA3E1
SB1B WB5K
SB1A WB5N

http://cjoint.com/?DGvulvNxUCv

Merci

ferrand
 Posté le 30/09/2014 à 16:00 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Je ne vois pas d'élément de ton image dans le tableau ?

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

Mais je vois que tu relances ta question avec une formulation tout à fait différente, et en y réincluant le tri (déjà fait cependant !)...

Abandon de ce sujet donc

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

Bonjour Ferrand,

En fait je n'ai pas été clair, je voulais faire ce rajout à ta réponse du 6/9/14 car elle fonctionne à merveille.

J'ai pensé que la liste était trop grande (2 pages, c'est pourquoi j'ai préféré faire une autre demande pour plus de simplification).

Encore merci pour toutes tes réponses.

Bonne journée

Cécilia

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

Bonjour,

Ma dernière demande à été résolue avec la réponse de Martial.

Merci à tous pur votre aide précieuse.

Cécilia

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
Grosses promotions pour le Super Sale chez Geekbuying
-70% -1 -%
@Geekbuying
Mini PC NiPoGi H1 (Ryzen 7 6800HU, 16 Go RAM, SSD 512 Go, Radeon 680M, Windows 11 Pro)
333,48 € 429 € -22%
@Amazon
Batterie externe Blackview Oscal PowerMax 2400 1872Wh extensible à 20592Wh, 2400W, LifePOE4 + panneau solaire PM100 100W
849 € 1099 € -23%
@Geekbuying
Fauteuil roulant électrique pliable Vocic (30 km, pneus 40 cm, poids max 150 kg)
959,99 € 1149,99 € -17%
@Amazon
Lot de 12 brossettes Oral-B Sensitive Clean
26,90 € 39 € -31%
@Amazon
Lot de 4 caméras de sécurité connectées étanches Blink Outdoor + sonnette sans fil Blink Video Doorbell
155,61 € 350 € -56%
@Amazon Allemagne

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