> Tous les forums > Forum Bureautique
 Copier sans mise en forme
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
delta70
  Posté le 05/08/2014 @ 22:24 
Aller en bas de la page 
Petit astucien

Bonjour à toutes et à tous,
Grâce aux forums, J'utilise une macro qui marche très bien pour copier une plage de cellules d'une feuille à une autre, mais il y a un petit problème ce que ce code fait une copie avec les mise en forme de la source
Je veux faire une copie sans mise en forme,
Voici le code que j'utilise:

Sub Récape()

Application.ScreenUpdating = False
Worksheets("Récap").Range("C9:L244").ClearContents
For Each Sh In ThisWorkbook.Sheets
If Sh.Name <> "Récap" And IsNumeric(Sh.Name) And Sh.[S5] = 4 Then
Sh.Range("C198: D235").Copy
Sheets("Récap").[C245].End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Sh.Range("F198:M235").Copy
Sheets("Récap").[E245].End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
End If
Next Sh
End Sub

Merci d'avance à ceux qui prendront le temps de me répondre !
Cordialement

Publicité
pc-facile13
 Posté le 05/08/2014 à 23:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir,

Essaye de remplacer les:
Paste:=xlPasteValuesAndNumberFormats

par:
Paste:=xlPasteValues

Yaloo
 Posté le 06/08/2014 à 21:57 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir Delta70, pc-facile13,

Sinon comme ça :

Sub Récape()
Application.ScreenUpdating = 0
Worksheets("Récap").Range("C9:L244").ClearContents
For Each Sh In ThisWorkbook.Sheets
If Sh.Name <> "Récap" And IsNumeric(Sh.Name) And Sh.[S5] = 4 Then
Sheets("Récap").[C245].End(3)(2).Resize(37, 2) = Sh.Range("C198: D235")
Sheets("Récap").[E245].End(3)(2).Resize(37, 8) = Sh.Range("F198:M235")
End If
Next Sh
Application.ScreenUpdating = -1
End Sub

C'est juste une copie de valeur

A+

Martial

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

Bonsoir à tous,

Remarque en passant : la plage considérée par Delta70 comporte 38 lignes.

Je ne conseille pas le remplacement des valeurs True ou False par des valeurs numériques (rien à gagner d'autant que l'assistance à la saisie de VBA complète à la frappe du premier caractère), ni l'utilisation de rang d'énumération à la place des constantes xlUp, xlDown.... Cela n'a pour effet que de rendre les macros difficile à lire...

De façon plus intéressante, les conditions Sh.Name <> "Récap" et IsNumeric (Sh.Name) s'excluent mutuellement, et... les deux sont inutiles : Sh.[S5] = 4 est une condition suffisante : If Sh.[S5] = 4 Then [un seul test au lieu de 3 à l'exécution].

Yaloo
 Posté le 06/08/2014 à 23:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir Ferrand,

Tout à fait d'accord avec tes premières remarques.

Par contre, pour les conditions "If Sh.[S5] = 4 Then" n'est pas forcément le seul test à faire.

Si tu ne testes que cette condition, l'onglet "Récap" ou un onglet dont le nom est numérique peut bien avoir sa cellule S5 avec une valeur de 4. Me trompe-je ?

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

Seuls les onglets numériques sont concernés dans le classeur de delta70 pour une copie de données vers la feuille Récap.

Récap n'étant pas un nom d'onglet numérique, les 2 premières conditions s'excluent mutuellement.

Mais comme pour les onglets autres que numériques (dont Récap) la cellule S5 est vide (ou même hors d'un champ de données, et qu'il paraît peu probable qu'elle puisse contenir une valeur numérique qui puisse conduire à une confusion [sauf si delta70 pousse le vice à la rechercher ! ], seuls les onglets numériques peuvent donc avoir une valeur dans cette cellule), il s'ensuit que la 3e condition est suffisante pour le test et qu'il est inutile de faire travailler le programme plus que nécessaire...

http://cjoint.com/14au/DHblXdmJqdZ.htm



Modifié par ferrand le 07/08/2014 01:22
Yaloo
 Posté le 07/08/2014 à 07:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour Ferrand,

N'ayant pas le fichier sous la main dans les premiers post, je ne pouvais pas deviner que les onglets non numérique n'avaient pas de 4 en S5.

J'aurai pu à la rigueur me rappeler de la réponse que j'avais déjà faite à chindou ici, enfin si j'avais vu le fichier dès le départ.

Delta ou Chindou je croyais que ma réponse sur Excel-Downloads était impeccable ?

A+

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

Bonjour Yaloo,

Le sujet précédent : https://forum.pcastuces.com/copier_plage_de_celules_vers_autre_feuille_sous_condition-f23s34140.htm

Curieusement marqué résolu, alors qu'il n'en est rien !

Faisait suite à un sujet antérieur : https://forum.pcastuces.com/copier_tableaux_vers_autre_feuille_sous_condition-f23s34124.htm

Lequel aurait dû apparemment être marqué résolu. Il n'en est rien non plus !

Le premier sujet que j'ai cité, accompagné d'un classeur qui permettait de chercher quelles raisons motivait la répétition d'un même sujet avec d'infimes variations, m'a fait apparaître au survol quelques anomalies : une macro de bouton activeX se baladant sur un module standard (aucune chance qu'elle puisse s'exécuter), des références à un Userform inexistant dans le classeur, ... Et comme le classeur est signalé aménagé pour la communication, difficile de se faire une idée précise...

Je n'avais pas vu alors le sujet auquel tu as répondu sur XLD, lequel était déjà aussi un second sujet sur XLD (le premier ayant reçu une réponse...)

La méthode qui consiste à poser une question élémentaire à partir d'un exemple ne prenant pas tous les éléments en compte n'est pas mauvaise en soi, à la condition que le questionneur recherche une méthodologie sur un point précis et qu'il soit capable de l'adapter dans son projet. Ce n'est pas la bonne méthode si la question doit être reposée de multiples fois sous des formes légèrement différentes... Et quand de plus elle est éclatée en plusieurs sujets, on n'a plus le fil antérieur (et je ne parle pas de l'utilisation simultanée de plusieurs forums !).

Ici on est sur un 3e sujet sur la même question (en ne comptant pas l'éclatement sur au moins deux forums). S'agissant du transfert de plages de données, il me semble qu'un éventail conséquent de méthodes a été fourni : au moyen de boucles (si je ne me trompe pas sur la méthode de Modeste [XLD] dont je n'ai pas regardé le détail), par copie de plages (Poussebois), par copie valeurs (ici), et par transfert direct des valeurs de plage à plage (Yaloo), ce qu'on peut faire également en utilisant une variable objet. Je ne vois guère autre chose à part des variations comme constituer un tableau des données à récapituler et le transférer ensuite...

Ce qui m'a intrigué c'est que la colonne Prénom des feuilles de classes est exclue (d'où transfert de deux plages au lieu d'une), ce qui conduit à ce que le seul Nom soit affectée dans une colonne de Récap intitulée Nom et prénom. Peut-être un 4e sujet...

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
154,59 €SSD Samsung 870 QVO 2 To à 154,59 €
Valable jusqu'au 24 Juillet

Amazon fait une promotion sur le tout nouveau SSD Samsung 870 QVO 2 To qui passe à 154,59 € livré gratuitement. Ce SSD offre des vitesses de 560 Mo/s en lecture et 530 Mo/s en écriture. Il est garanti 3 ans.


> Voir l'offre
20,43 €Clé USB 3.1 Sandisk Ultra Luxe 128 Go à 20,43 €
Valable jusqu'au 25 Juillet

Amazon propose la clé USB Sandisk Ultra Luxe d'une capacité de 128 Go à 20,43 €. Cette clé USB 3.1 toute en métal est compatible USB 2.0 et offre de bons débits d'environ 150 Mo/s en lecture et en écriture. Elle inclut le logiciel SanDisk SecureAccess pour un cryptage et une protection par mot de passe de vos données sensibles.


> Voir l'offre
229,90 €Ecran Lenovo 31,5 pouces D32q-20 (QHD, IPS, 75 Hz, FreeSync) à 229,90 €
Valable jusqu'au 25 Juillet

Amazon propose actuellement l'écran 31.5 pouces Lenovo D32q-20 à 229,90 € alors qu'on le trouve ailleurs à plus de 265 €. Cet écran dispose d'une dalle QHD (2560x1440) à bords fins, avec un temps de réponse de 4 ms et un rafraichissement de 75 Hz. Il possède des entrées VGA et HDMI. Il est compatible Freesync. 


> Voir l'offre

Sujets relatifs
Copier sans mise en forme
COPIER COLLER je perds la mise en forme du texte
copier en gardant mise en forme des cellules
probleme mise en forme après copier coller word97
copier une mise en forme
Recopier "que la Mise en forme Conditionnelle"
Mise en forme conditionnelle Excel 2010
aide pour une mise en forme conditionnelle
Mise en forme conditionnelle
Mise en forme
Plus de sujets relatifs à Copier sans mise en forme
 > Tous les forums > Forum Bureautique