Copie d'une plage de donnée vers nouvelle feuille + dimensions cellules

  • Initiateur de la discussion Initiateur de la discussion Geinoch
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Geinoch

XLDnaute Occasionnel
Bonjour à tous!

Non, si vous êtes ici et que vous croyez que ma question à pour sujet "Comment fait-on des bébés?" et bien vous avez mal lu le titre!

Non plus "comment fait-on du Tetra Nitro Toluene avec de l'urine de cheval séché?"

Mais plutot comment fait-on, avec un bouton de commande, pour copier une plage de donnée ainis que les dimensions des cellules et la mise en forme vers une feuille.

Pour le moment j'ai un code qui copie bien la mise en forme (couleur, taille police, etc) et qui crée une feuille adéquate ainsi que son nom et le titre en haut, mais je suis pas capable de copier les dimensions... Donc, ce me donne un tableau relativement démesuré...

Voici le bout de code correspondant:

Range("A2:R39").Select 'Insertion et copie de la feuille vers la nouvelle
Selection.Copy
ActiveWorkbook.Sheets.Add After:=Sheets(7)
ActiveSheet.Name = Nom: Worksheets(8).Activate
ActiveSheet.Paste
ActiveSheet.Cells(1, 2) = "Statistiques Archivées" & " " & [ms] & " " & [an]
Application.CutCopyMode = False

I'm looking forward for your answers et vous remerci énormément à l'avance!

P.S.: Pas la peine de m'emvoyer des MP pour savoir comment on fait du TNT je vous le direz pas...

p.s.(2): Encore moin des bébés!
 
Re : Copie d'une plage de donnée vers nouvelle feuille + dimensions cellules

Bonjour,
en reprenant ton code :
PS, n'oublie pas le Application.ScreenUpdating = False en début de code

Range("A2:R39").Select
j = Selection.Columns.Count
k = Selection.Column

ActiveWorkbook.Sheets.Add After:=Sheets(7)
ActiveSheet.Name = Nom: Worksheets(8).Activate
ActiveSheet.Paste
ActiveSheet.Cells(1, 2) = "Statistiques Archivées" & " " & [ms] & " " & [an]
Application.CutCopyMode = False
Sheets("Feuil1").Select 'mets le bon nom
With Sheets("Feuil3") ' ici aussi, tu mets le bon nom
For i = k To j
.Columns(i).ColumnWidth = Columns(i).ColumnWidth
Next i
End With

End Sub
 
Dernière édition:
Re : Copie d'une plage de donnée vers nouvelle feuille + dimensions cellules

Ça fait plusieurs fois je le laisse passer celui-là mais là je veux une explication =)
For i <---------------- En bon québecois "Kecé ça????"
Ç'est une variable qui englobe le j à k? Si oui pourquoi pas For W ????
et Next W

Je dois mettre le nom de ma nouvelle feuille ou le nom de celle qui est sujet à être copié?
 
Re : Copie d'une plage de donnée vers nouvelle feuille + dimensions cellules

Re-,
comme tu as vu, je détermine le numéro de ta première colonne sélectionnée (k), le nombre de colonnes sélectionnées (j).
ensuite, je fais une boucle partant de (k) à (j) (dans ton cas k = 1 et j = 18), où (i) prend la valeur de (k) à la première passe, Next i le fait s'incrémenter de 1 et lorsque (i) est arrivé à (k), il sait que c'est la dernière boucle, puis sort....

Je dois mettre le nom de ma nouvelle feuille ou le nom de celle qui est sujet à être copié?
Tu mets dans la première : Sheets("Feuil1").Select le nom de la feuille à recopier
dans la deuxième : With Sheets("Feuil3") le nom que tu as déterminé (que tu peux retrouver par le même code : ActiveSheet.Name = Nom) donc With Sheets(Nom)
A +
 
Re : Copie d'une plage de donnée vers nouvelle feuille + dimensions cellules

D'accord et si je veux aussi que les lignes se mettents à la bonne dimension?

Dois-je faire

L = selection.row.count
M = Selection.row

et ajouter un For W et next W?

Où le "i" de for i c'est une sorte de fonction particulière?

Finalement, j'ai compris... et j'ai fait un second For I = M to L et next I
avec RowHeight
...
Maintenant je me demande comment je fais pour que la sélectione disparaisse
 
Dernière édition:
Re : Copie d'une plage de donnée vers nouvelle feuille + dimensions cellules

Bah mon range sur ma nouvelle feuille reste sélectionné en bleu... C'est complètement fantaisiste, mais je me demande comment je fais pour le désélectionner...

Au pire tu peux toujours me dire "Daniel, lâche tes fantaisies et fou moi la paix" 😉
 
Re : Copie d'une plage de donnée vers nouvelle feuille + dimensions cellules

Bah le problème, c'est que le nom se modifi à chaque fois que je click sur mon bouton... Alors j'y vais avec le numéro, c'est-à-dire Sheets(9).Select
mais la un bug apparait a [a1].select

Edit, bien finalement j'ai rêglé mon problème en mettant ActiveSheet.Cells(1 ,1).Select avant le Application.ModeCutCopy = false

Merci encore Bhbh! Tu me sauve la vie... Encore
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
13
Affichages
1 K
Retour