Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

À propos de Resize ?

  • Initiateur de la discussion Initiateur de la discussion Jocelyn
  • 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 !

J

Jocelyn

Guest
Bonjours à vous tous sur le forum.
On apprend toujours de nouvelles chose ici.

Je lisais ce fil , parti écrite par LaurentTBT :
http://www.excel-downloads.com/html/French/forum/messages/1_77672_77672.htm

Je pensait qu'en utilisant le Resize, les colones et les lignes seraient redimentionné d'après la feuille copié.

Ce qui n'est pas le cas.

Pourait-on utiliser une fonction qui redimentionnerait les lignes et les colones tel que la feuille copié ?

Voici mon exemple :

Workbooks(CeLivre).Activate
Range("A1:Z500").Resize(500, 26).Copy
Workbooks(AutreLivre).Activate
Sheets(Quelnom).Select
With ActiveSheet
.Range("A500").End(xlUp).PasteSpecial Paste:=xlPasteAll
End With

Au plaisir de vous lire et merci.
 
Bonsoir Jocelyn

J'ai essayé la macro et elle fonctionne parfaitement.

En effet, la propriété RESIZE redimentionne par rapport à la cellule la plus en haut à gauche de la plage sélectionnée.

La plage Range("A1:Z500") comprend 500 lignes et 26 colonnes.

Comme la propriété RESIZE(500,26) a les mêmes données de 500 lignes et 26 colonnes, la copie est identique.

Dans ce cas cela correspond à :
Sub Macro1()
Workbooks("Classeur2.xls").Activate
Range("A1:Z500").Copy
Workbooks("Classeur3.xls").Activate
Sheets("Feuil1").Select
With ActiveSheet
.Range("A500").End(xlUp).PasteSpecial Paste:=xlPasteAll
End With
Application.CutCopyMode = False
End Sub

Cordialement

Bernard
 
Bonsoir Bernard

Je suis d'accord avec toi, que :
Range("A1:Z500").copy est indentique.

Mais je ne parvient pas a redimensionner les nouvelles colones, peut importe la façon que l'on écrit .copy.

Ma question est :

Existe-t-il une façon de passer la copie avec la dimension des colones originales ?

Merci
 
Yep!

Petite astuce à laquel je vient de penser :

Workbooks(CeLivre).Activate
For i = 1 To 26
large(i) = Cells(1, i).ColumnWidth
Next i
Range("A1").Resize(500, 26).Copy
Workbooks(AutreLivre).Activate
Sheets(Quelnom).Select
With ActiveSheet
.Range("A500").End(xlUp).PasteSpecial Paste:=xlPasteAll
For i = 1 To 26
Cells(1, i).ColumnWidth = large(i)
Next i
End With
Application.CutCopyMode = False
End Sub

Et qui fonctionne à la merveille.

Peut-être que quelqu'un d'autre connaitrait une autre façon ?

Toujours à l'affut de nouvelles connaissance
Merci encore

Joc.
 
Bonsoir Jocelyn

En faisant un copier -coller de l'ensemble d'une feuille sur une autre, les dimensions des lignes et colonnes sont respectées.

Sub Macro1()
Windows("Classeur2.xls").Activate
Worksheets("Feuil1").Cells.Select
Selection.Copy
Windows("Classeur3.xls").Activate
Worksheets("Feuil1").Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

Cordialement

Bernard
 
Bonsoir à tous

Je me suis mal exprimé sur l'autre fil: Resize ne sert pas à dimensionner des cellules (au sens largeur de colonne ou hauteur de ligne)
Agrandir n'est pas non plus le mot qui convient
MaPlage.Resize(i,j) donnera une nouvelle plage commençant à la première cellule de MaPlage, et faisant i lignes sur j colonnes.

Sinon, pour recopier les largeurs de cellules, il peut y avoir cette solution:
Workbooks(CeLivre).worksheets("FeuilleDeDépart").Columns("A:Z").Copy
Workbooks(AutreLivre).worksheets("FeuilleD'arrivée").Range("A1").PasteSpecial Paste:=xlPasteFormats

MAIS, cela copiera tous les formats des cellules des 26 colonnes, pas seulement la largeur. J'ai pas trouvé mieux que d'enregistrer chaque largeur comme tu l'as fait, Jocelyn.

Bonne soirée.
Laurent.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…