recuperation colonne

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

GHISLAIN

XLDnaute Impliqué
Bonjour a tous ,

j'utilise un code pour récupérer des colonnes utiliser avant impression .

Worksheets("initiale").UsedRange.Copy
Worksheets("copie").Activate
[a1].Select
ActiveSheet.Paste

toutefois , ce code me copie toute les colonnes même celles qui sont vides

ce que je souhaiterai
1 - ne copier que les colonnes utilisées , et exclure les colonnes vide
2 - lors de la copie supprimer les couleurs des lignes
3 - cette copie sera utilisée uniquement pour une impression donc , est il possible d effectuer la meme chose
sans passer par une copie du style :

Worksheets("initiale").UsedRange.Print

et enfin j'utilise dans mon dossier final un menu avec un bouton impression , ce code ne doit donc s activer que lorsque la feuille :"initiale" est affichée a l écran donc active


donc dans l’idée :
if Worksheets("initiale").activate then
Worksheets("initiale").UsedRange.Print
end if

merci a tous de vos suggestions et aide apportée

cordialement

ghislain
 

Pièces jointes

Re : recuperation colonne

Bonjour à tous


Code VBA issu en grande partie de l'enregistreur de macros ... 😉
Code:
Sub Macro1()
    Sheets("Initiale").Select
    Sheets("Initiale").Copy After:=Sheets(1)
    Rows("1:1").SpecialCells(xlCellTypeBlanks).EntireColumn.Delete
    Rows("1:1").SpecialCells(xlCellTypeBlanks).EntireColumn.Select
    Selection.ClearFormats
    ActiveSheet.UsedRange.Cells.Interior.ColorIndex = xlNone
End Sub

Sous réserve que j'ai bien compris la question.
 
Re : recuperation colonne

Bonjour

pour faire la copie :
Code:
Set monrange = Sheets("initiale").UsedRange
monrange.Copy Destination:=Sheets("feuil3").Range("A1")


pour masquer les colonnes vides avant impression et les réafficher ensuite :
Code:
 For c = ActiveSheet.UsedRange.Columns.Count To 1 Step -1
  If IsEmpty(Cells(1, c)) Then Columns(c).Hidden = True
 Next c
 ActiveSheet.PrintOut
 Columns().Hidden = False
(en partant du principe que toutes les colonnes à conserver ont la ligne 1 remplie)
 
Re : recuperation colonne

Bonjour Misange

2 - lors de la copie supprimer les couleurs des lignes
Pour supprimer la couleur (en repartant sur le code de Misange 😉)
Code:
Sub a()
Set monrange = Sheets("initiale").UsedRange
monrange.Copy
Sheets("Feuil3").Range("A1").PasteSpecial xlPasteValues
Sheets("Feuil3").UsedRange.Borders.LineStyle = xlContinuous
Application.CutCopyMode = False
End Sub
 
Re : recuperation colonne

bonjour a tous ,
dsl de n'etre passé avant , travail sur d'autre facette de mon projet ....
je vous remercie a tous de vos propositions et d avoir résolu mon probleme

tres cordialement

merci a tous

ghislain
 
- 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

  • Question Question
Microsoft 365 Cpier/coller en VBA
Réponses
7
Affichages
818
Réponses
5
Affichages
936
LeSaintKebab
L
D
Réponses
4
Affichages
1 K
R
Réponses
0
Affichages
3 K
R
R
Réponses
3
Affichages
4 K
R
L
Réponses
1
Affichages
1 K
Ludwig74
L
Z
Réponses
2
Affichages
802
zoidberg
Z
Retour