Valeur de la première et de la dernière cellules dans le pied de pied de page

rlp1303

XLDnaute Nouveau
Bonjour à tous,
j'ai beau chercher et chercher encore sur le forum, je ne trouve pas de solution à mon problème.
Je dois imprimer une liste de personnes comportant près de 3200 entrées, sachant que mon tableau comporte trois colonnes (numéro de la personne, nom de famillle, prénom). Il y a en tout 102 pages!
J'aurais voulu simplifier le travail des utilisateurs en leur indiquant, dans le pied de page en bas à droite, le premier et le dernier nom de famille figurant sur chaque page (un peu comme dans certains dictionnaires) afin qu'ils aillent plus vite à la page voulue. Est-ce possible ou est-ce que j'en demande trop?

Merci infiniment d'avance de toute l'aide que vous pourrez m'apporter.
rlp
 

Papou-net

XLDnaute Barbatruc
Re : Valeur de la première et de la dernière cellules dans le pied de pied de page

Bonsoir rlp1303, et bienvenue à toi,

Ca manque un peu de précisions dans l'énoncé de ton problème.

Si le fond de la question est clair, il serait bon de mieux connaître la structure de ton fichier.

Par exemple, quand tu parles de 102 pages, tu veux dire 102 onglets ou 102 pages imprimées ? Et chaque onglet tient-il sur une seule feuille ou sur plusieurs ?

Il serait utile d'obtenir une réponse à ces points avant d'étudier une solution. Une version allégée et sans données confidentielles de ton fichier serait un plus indéniable.

Dans cette attente.

Cordialement.
 

Dormeur74

XLDnaute Occasionnel
Re : Valeur de la première et de la dernière cellules dans le pied de pied de page

Bonjour tout le monde,

J'ai bien peur qu'il ne soit pas possible de sortir du paramétrage des pieds de page proposé par Excel.
Essaye cette macro et adapte-la à ton besoin.
Ici :
- on calcule le nombre de lignes imprimées par page
- on insère une ligne au bas de chaque page
- on fusionne les cellules de la dernière ligne et on justifie à droite
- on inscrit sur cette ligne le contenu de la première et de la dernière cellule de la colonne de gauche de la page
Attention : on paramètre à la main la variable rightCol après aperçu de la mise en page.

Code:
Sub Macro1()
    Dim Y As Long
    Dim increment As Long
    Dim Mot1, Mot2 As String
    Dim rightCol As String
    
    ' Vérifier dans le tableau quelle est la colonne la plus à droite (à imprimer)
    rightCol = "G"
    increment = VBA.Right(ActiveSheet.HPageBreaks(1).Location.Address, 2) - 1
    For Y = increment To ActiveSheet.UsedRange.Rows.Count Step increment
        Mot1 = Cells(Y - increment + 1, 1)
        Mot2 = Cells(Y - 1, 1)
        Rows(Y & ":" & Y).Select
        Selection.Insert Shift:=xlDown
        Range("A" & Y & ":" & rightCol & Y).Select
        With Selection
            .HorizontalAlignment = xlRight
            .VerticalAlignment = xlBottom
            .WrapText = False
            .Orientation = 0
            .AddIndent = False
            .ShrinkToFit = False
            .MergeCells = True
        End With
        Cells(Y, 1) = Mot1 & " - " & Mot2
    Next Y
End Sub
 

rlp1303

XLDnaute Nouveau
Re : Valeur de la première et de la dernière cellules dans le pied de pied de page

Bonjour Papou-net (ça me fait bizarre, j'ai l'impression d'écrire à mon père... Papa, c'est toi ;-)?
Il s'agit bien d'un seul onglet comportant les 3056 noms (pour être précis). Je dois imprimer cette liste pour la mettre dans différents classeurs. Les 102 pages sont effectivement des pages imprimées.
Pour être tout-à-fait exhaustif, je vais même devoir imprimer cette de deux manières différentes:
- une liste de pointage: 49 pages avec 65 lignes (n°, nom, prénom)
- une liste de signature: 102 pages avec 30 lignes (n°, nom, prénom, colonne pour signature)
J'espère avoir été assez complet!?
rlp
 

rlp1303

XLDnaute Nouveau
Re : Valeur de la première et de la dernière cellules dans le pied de pied de page

Bonjour Dormeur74 et merci de ta solution. Ca fonctionne parfaitement, sauf que, bien sûr, j'avais encore oublié de préciser quelque chose d'important: la première ligne (n°, nom, prénom) se répète sur chaque page imprimée...
Comme demandé, j'envoie les fichiers anonymisés.
rlp
 

Pièces jointes

  • exemple - liste de pointage.xls
    169 KB · Affichages: 58
  • exemple - registre des signatures.xls
    221.5 KB · Affichages: 51

Papou-net

XLDnaute Barbatruc
Re : Valeur de la première et de la dernière cellules dans le pied de pied de page

Bonjour rlp, Dormeur,

Pour répéter la première ligne sur chaque page, il suffit d'aller dans le menu :

Fichier, Mise en page, Feuille et dans Ligne à répéter en haut écrire $1:$1.

Pour le reste, je pense que Dormeur a donné la solution.

Cordialement.

@ rlp :

Non, je ne pense pas être ton papa car ma fille n'a qu'un frère et mon fils n'a qu'une soeur (enfin, que je sache ! hi hi hi)
 

rlp1303

XLDnaute Nouveau
Re : Valeur de la première et de la dernière cellules dans le pied de pied de page

@Papou-Net: si j'ai bien compris le fonctionnement de la macro de Dormeur, elle compte sur chaque page les lignes imprimées et donc aussi la première ligne répétée, ce qui fait que sur la première page la ligne ajoutée se trouve à la bonne place mais indique "n° - 30", puis les autres lignes ajoutées par la macro sont décalées et apparaissent p.3 à la deuxième ligne, p. 4 à la troisième ligne, etc.

Histoire de compliquer encore les choses, est-ce qu'il est possible d'inclure le contenu de la troisième cellule de la ligne dans la ligne insérée par la macro, de manière à ce que ce soit par exemple "Nom 1 - Nom 31" qui s'affiche, ou mieux encore les trois premiers caractères??? Je sais, je pousse le bouchon un peu loin....

PS: je suis rassuré, car si mon "vieux" papa de 80 ans était si calé en Excel, j'irais me rhabiller immédiatement.... :D
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Valeur de la première et de la dernière cellules dans le pied de pied de page

RE rlp :

En fait, tout est pratiquement possible par VBA, en voici la preuve dans le fichier ci-joint.

Le découpage et la numérotation des pages se fait en automatique, il n'y a rien à modifier dans la feuille de calcul.

J'ai tenu compte de ta dernière demande, les 3 premières lettres des noms s'affichent dans l'en-tête de page. Je les ai mis dans l'en-tête car dans le pied de page ils se chevauchaient avec le tableau.

Pour éviter de gâcher du papier et de l'encre lors de mes essais, le bouton de commande Imprimer lance seulement un aperçu avant impression. Pour sortir des pages papier, il suffit de remplacer la ligne ActiveSheet.PrintPreview par ActiveSheet.PrintOut.

Voilà, j'espère que tu trouveras tout ceci à ta convenance.

Cordialement.


PS : du coup, à peu de temps près, c'est ton papa qui aurait pu être aussi le mien.

Edit : j'ai ajouté une variable derLigne qui te permet de définir le nombre de lignes par page que tu désires .
 

Pièces jointes

  • Copie de exemple - liste de pointage.xls
    183 KB · Affichages: 38
Dernière édition:

Dormeur74

XLDnaute Occasionnel
Re : Valeur de la première et de la dernière cellules dans le pied de pied de page

Bonjour tout le monde,

Voilà avec la barre des titres à chaque page la liste des signatures. Tu ne devrais pas avoir de mal à l'adapter à la liste des pointages. Bon apm, je file aux champignons.
 

Pièces jointes

  • signatures.zip
    97.1 KB · Affichages: 33
  • signatures.zip
    97.1 KB · Affichages: 32
  • signatures.zip
    97.1 KB · Affichages: 28

rlp1303

XLDnaute Nouveau
Re : Valeur de la première et de la dernière cellules dans le pied de pied de page

Merci Dormeur et Papou-Net. Je vais appliquer tout ça à mes listes et je vous tiens au courant du résultat!
Merci encore!!!

Update 16/10/2012: ça marche parfaitement! Merci encore.
rlp
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 334
Messages
2 087 384
Membres
103 530
dernier inscrit
dieubrice