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

Macro pour archiver zones discontinues...

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 !

Christian0258

XLDnaute Accro
Bonjour à tout le forum,

Je souhaiterais votre aide afin d'écrire une macro. Cette macro devra archiver une zone de données, séparée par quelques colonnes vides, que je ne souhaite par archiver...

VOIR FICHIER

Je vous remercie pour votre aide si précieuse.

Bien amicalement,
Christian
 

Pièces jointes

Re : Macro pour archiver zones discontinues...

Bonjour à tous

Une suggestion en passant
Tu pourrais sauvegarder toutes colonnes
(copie de ta feuille)
puis supprimer dans la copie les colonnes G à L

Ce qui donnerai une macro du genre
Code:
Sub Macro1()
Sheets("Feuil1").Copy After:=Sheets(1)
Columns("G:L").Delete Shift:=xlToLeft
End Sub
 
Dernière édition:
Re : Macro pour archiver zones discontinues...

Bonjour Christian, Jean-Marie,

Oui, ou aussi cette macro dans le code de la feuille "Base Plats" :

Code:
Private Sub Worksheet_Activate()
Dim P As Range, M As Range
With Feuil1 'CodeName de la feuille source
  Set P = .[E7:AF50]: Set M = .[G:L] 'à adapter au besoin
  M.Columns.Hidden = True
  P.SpecialCells(xlCellTypeVisible).Copy [A3]
  M.Columns.Hidden = False
End With
Columns.AutoFit 'ajustement de la largeur
End Sub
A+
 
Re : Macro pour archiver zones discontinues...

Re,

Bah pourquoi faire simple...

Code:
Private Sub Worksheet_Activate()
'Feuil1 est le CodeName de la feuille source
Feuil1.[E7:F50,M7:AF50].Copy [A3]
Columns.AutoFit 'ajustement de la largeur
End Sub
A+
 
Re : Macro pour archiver zones discontinues...

Re,

Alors utilise cette macro :

Code:
Sub Archivage()
'Feuil1 et Feuil2 sont les CodeNames des feuilles
Dim dercel As Range
Set dercel = Feuil2.Cells.Find("*", , xlValues, , xlByRows, xlPrevious)
With dercel.Parent.Range("A" & dercel.Row + 1)
  Feuil1.[E7:F50,M7:AF50].Copy .Cells
  .Parent.Columns.AutoFit 'ajustement de la largeur
  .Parent.Activate 'facultatif
End With
End Sub
Cette méthode avec Find est la plus sûre pour déterminer la dernière ligne.

A+
 
- 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
2
Affichages
197
  • Question Question
XL 2021 Macro
Réponses
6
Affichages
248
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…