Remonter à la cellule B1 après avoir completé la colonne A de la première page

  • Initiateur de la discussion Pascal
  • Date de début
P

Pascal

Guest
Bonjour à tous et toutes et un grand merci pour toutes les réponses que j'ai eues pour la mise en gras automatique de 6 en 6 lignes.

Je croyais en avoir terminé avec mon classeur et voilà que mes collègues de boulot en veulent encore plus.

J'ai une feuil1 qui s'appelle "DONNEES" et qui comporte 5 colonnes
La ligne 1 est la ligne de Titres "Auteur; Titre; Editeur; Date; Cote"
et à partir de la ligne 2 mes collègues rentrent des données.

Sur la feuil2 appelée MEF (pour mise en forme) j'applique la macro suivante elle peut certainement être améliorée mais c'est grâce à vous tous que j'ai réussi à faire ça :

Sub Livres2()
'Quand la feuil2 ou "MEF" est sélectionnée les données des colonnes
'A, B, C, D ,E de la feuil1 ou "DONNEES" et à partir de la ligne 2 se mettent
'dans la colonne A de la feuil2 "MEF" en A1, A2, A3, A4, A5 la cellule
'A6 elle est vide, et on repart A7, A8, A9, A10, A11, A12 vide etc.

Dim ligne As Double

Sheets("MEF").Select
Range("A1").Select
ActiveCell.Offset(0, 0).Formula = "=DONNEES!A1"
ActiveCell.Offset(1, 0).Formula = "=DONNEES!B1"
ActiveCell.Offset(2, 0).Formula = "=DONNEES!C1"
ActiveCell.Offset(3, 0).Formula = "=DONNEES!D1"
ActiveCell.Offset(4, 0).Formula = "=DONNEES!E1"
ActiveCell.Offset(0, 0).Select
ligne = 2
While Range("DONNEES!A" & ligne).Value <> ""
ActiveCell.Offset(0, 0).Formula = "=DONNEES!A" & ligne
ActiveCell.Offset(1, 0).Formula = "=DONNEES!B" & ligne
ActiveCell.Offset(2, 0).Formula = "=DONNEES!C" & ligne
ActiveCell.Offset(3, 0).Formula = "=DONNEES!D" & ligne
ActiveCell.Offset(4, 0).Formula = "=DONNEES!E" & ligne

ActiveCell.Offset(6, 0).Select
ligne = ligne + 1
Wend

Columns("A:B").Select
Selection.ColumnWidth = 40 'largeur des colonnes A et B est de 40
Selection.WrapText = True 'retour à la ligne automatique

Application.ScreenUpdating = False
For ligne = 1 To Range("a65535").End(xlUp).Row Step 6
If ligne > 65531 Then Exit Sub
Rows("" & ligne & ":" & ligne & "").Font.Bold = True
Rows("" & (ligne + 4) & ":" & (ligne + 4) & "").Font.Bold = True
Next ligne


End Sub

Donc vous avez compris que toutes les données de la feuille "DONNEES" se mettent dans l'autre sens sur la colonne A de la feuille "MEF"

Mais voilà qu'une de mes collègues voudrait que les données se mettent sur 2 colonnes et dans l'ordre. C'est à dire que sur la colonne A je dois mettre 8 blocs de 6 lignes soit 48 lignes (j'entends par Bloc la mise en forme d'une ligne de la 1ère feuille sur la 2ème) et que le bloc suivant remonte en B1, encore 8 blocs et qu'on passe à la page 2 dans la colonne A encore 8 blocs et remonter en haut de la page 2 colonne B. Finalement les données formeront une sorte de Z de page en page. Le probleme c'est que j'ai inserer un retour à la ligne automatique (pour les titres longs) et je ne saurais pas qu'elle est la ligne qui finie une page ?

Et bien si c'est assez clair et si l'un de vous a une petite idée je l'en remercie d'avance.

A+ Pascal
 
P

Pascal

Guest
Bonsoir à tous et à toutes !

N'ayant pas eu de réponse à ma "petite question" je me permet de la reposer et de la placer en tête de liste.

Si quelqu'un a une petite idée sur le fait de passer automatiquement de la fin de la première page colonne A au début de la colonne B puis de la fin de la colonne B au début de la 2ème page colonne A, puis à la fin de celle-ci remonter en haut de la colonne B de la 2ème page et ainsi de suite de telle façon que le tout forme une descente des données sur 2 colonnes et pages par page. Je ne sais pas si je suis très clair mais ce n'est pas évident à expliquer :
I /I
I / I ----->(première page)
I / I
I/ I
-------- ----->(saut de page)
I /I
I / I ----->(deuxième page)
I / I
I/ I
------- ----->(saut de page)
......... (etc)

I /I
I / I -----> (dernière page de la feuille)
I / I
I/ I


C'est peut-être plus explicite comme ça ?

@+ et Merci. Pascal
 

Discussions similaires

Réponses
21
Affichages
1 K
  • Question
Microsoft 365 Code VBA
Réponses
2
Affichages
424

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 104
dernier inscrit
JEMADA