imprimer sur une page une liste

D

duraton

Guest
bonjour
j'ai encore besoin d'un conseil! J'ai une liste qui me sert de répertoire saisie sur Excel: colonne A les noms, colonnes B les n° de téléphone. Cette liste est longue de plusieurs pages, mais très étroite. comment la faire tenir sur moins de pages (pour l'imprimer par exemple en un simple recto verso) en mettant deux séries de deux colonnes sur chaque page.
Jusqu'à présent je fais copier coller pour déplacer mes morceaux de colonnes. Mais si je rajoute un nom le tri alphabétique ne se fait plus automatiquement! J'espère que j'ai été à peu près claire! MErci de votre aide.
 
G

Gérard DEZAMIS

Guest
Bonsoir Duraton

J'ai essayé avec une macro de Classer, puis copier Coller en respectant tes consignes. Deuc colonnes NOM/N°TEL et sur deux pages.
Cela fait 180 noms possibles est-ce suffisant ?
Ce n'est que de la macro Made in Enregistreur.
A modifier si besoin. Regarde ce qui ne convient pas.
@+
GD
 

Pièces jointes

  • Duraton.zip
    16.3 KB · Affichages: 34
R

Rénato

Guest
bonjour DURATON, Salut Gérard

Je constate que mon ami Gérard a dégainé plus vite que moi, et il semblerait que son script soit plus performant que le mien en ce sens que les données publiées sur les colonnes C et D, de chaque pages suivent l'ordre alphabétique des colonnes A et B, par contre , mon code ne se limite pas à un nombre de lignes données.

Je vous le donne en pâture

Sub MacroDécoupageImpression()
'
' Macro1 Macro
' Macro enregistrée le 02/07/2004 par Rénato
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
With Selection
nblig = .Rows.Count
Range("C1") = nblig
End With
Application.Goto Reference:="INDIRECT(""A""&ROUND((R1C3+2)/2,0))"
Range(Selection, Selection.SpecialCells(xlLastCell)).Select
Selection.Cut
Range("C2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1:B1").Select
Selection.Copy
Range("C1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").Select
End Sub

Bonne soirée à vous deux et à bientôt

Rénato
 
G

Gérard DEZAMIS

Guest
Bonjour Duraton
Salut Rénato

Merci de la leçon VBA
A ce sujet (je continue ma formation parasite ....)
Tu peux me "traduire" :
Application.Goto Reference:="INDIRECT(""A""&ROUND((R1C3+2)/2,0))"
en langage "habituel" (Round ?)
Merci d'avance

Bon W-E laborieux dans les méandres du VBA diabolique
@+
GD
 
R

Rénato

Guest
Bonjour Gérard,

Pour répondre très humblement à ta question :
Round, (arrondi) me permet lorsque le nb de lignes total récupérées juste avant est impair d'obtenir un entier que je concatène à "A" afin de définir une cellule cible.

Bien cordialement

Rénato
 

Discussions similaires

Statistiques des forums

Discussions
312 236
Messages
2 086 481
Membres
103 232
dernier inscrit
logan035