Création d'un bloc égal à 6 lignes par référence

CG2000

XLDnaute Occasionnel
Bonsoir le forum,

Après une multitude de recherches sur les posts je n'arrive pas à trouver une solution à mon problème.

Je cherche avec l'aide d'une macro la possibilité de pourvoir creer des blocs de 6 lignes par référence. Le fichier joint sera plus explicite.
(sur l'onglet 1 le fichier brut / sur l'onglet 2 le résultat recherché)

Sur la colonne A nous avons des références de lot et en colonne B, C, ... divers renseignements
correspondant aux références.

Après une cellule renseigner en colonne A (donc non vide) il faut entre deux références 6 lignes en y insérent si nécessaire des ligne vide (pour y obtenir

des blocs de 6 lignes pour chaque référence en colonne A.

si entre deux références présence de 0 ligne alors ajouter 5 lignes vides pour creer un bloc de 6 lignes
si entre deux références présence de 1 ligne alors ajouter 4 lignes vides pour creer un bloc de 6 lignes
si entre deux références présence de 2 ligne alors ajouter 3 lignes vides pour creer un bloc de 6 lignes
si entre deux références présence de 3 ligne alors ajouter 2 lignes vides pour creer un bloc de 6 lignes
si entre deux références présence de 4 ligne alors ajouter 1 lignes vides pour creer un bloc de 6 lignes
si entre deux références présence de 5 ligne alors ajouter 0 lignes vides pour creer un bloc de 6 lignes

Merci de votre aide.

CG2000
 

Pièces jointes

  • Classeur1.xls
    40 KB · Affichages: 63
  • Classeur1.xls
    40 KB · Affichages: 69
  • Classeur1.xls
    40 KB · Affichages: 70

R@chid

XLDnaute Barbatruc
Re : Création d'un bloc égal à 6 lignes par référence

Bonsoir,
une solution par formule si ca te convient, en attendant une autre par Macro.
J'ai fat une petite modification sur la premiere colonne de l'Onglet 1.
Amicalement
 

Pièces jointes

  • CG2000.xls
    358 KB · Affichages: 50

CBernardT

XLDnaute Barbatruc
Re : Création d'un bloc égal à 6 lignes par référence

Bonsoir CG2000, Rachid_0661,

une macro "IntervallesSixLignes",dans le module 1, qui doit correspondre à ton projet.
 

Pièces jointes

  • IntervallesSixLignes.xls
    54.5 KB · Affichages: 50
Dernière édition:

CG2000

XLDnaute Occasionnel
Re : Création d'un bloc égal à 6 lignes par référence

Bonsoir le site, le fil,

Bernard,

Merci pour ta proposition, elle fontionne très bien avec ton exemple joint, par contre elle ne fonctionne plus si le nombre de ligne est plus importante (voir le fichier joint).

Avec un essai sur 136 lignes La macro bloque sur :
Code:
For k = i To i + 4
Mon fichier pour traitement peu aller au dela de 5000 lignes.

Si une solution est possible se serait formidable.

Rachid_0661,
Merci pour ton intervention, mais je suis exclusivement pour ce cas à la recherche d'une macro.

Merci bien à tous
 

Pièces jointes

  • IntervallesSixLignes (2).xls
    102.5 KB · Affichages: 46
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Création d'un bloc égal à 6 lignes par référence

Bonjour à tous,

Bernard : Puis-je me permettre pour les bordures :
.Range(.Cells(i, 1), .Cells(i + 5, 1)).Borders.LineStyle = xlContinuous
.Range(.Cells(i, 1), .Cells(i + 5, 14)).Borders.LineStyle = xlContinuous

A++
A + à tous

Edition : Oups, pas vu que tu voulais des bordures ciblées...
 
Dernière édition:

CBernardT

XLDnaute Barbatruc
Re : Création d'un bloc égal à 6 lignes par référence

Bonjour à tous,

Comme le préconise JCGL, la déclaration des variables numériques, pour utiliser au plus juste la mémoire vive peuvent être déclarées différemment selon le nombre de lignes qui sont à traiter dans le classeur.

Si tu as plus de 30000 lignes à traiter, il te faut déclarer la variable k en type de données Long(4 octets). Si tu as entre 30000 et 255 lignes tu déclares k en Integer(2 octets) et si tu as moins de 255 lignes tu déclares k en Byte(1 octet).
Tu peux aussi ne déclarer aucunes variables et laisser le libre choix à l'éditeur Visual Basic. Dans ce cas, il faut retirer l'option mise en tête du module "Option Explicit".
Aujourd'hui, cette façon de faire est parfaitement admissible compte tenu du volume de mémoire que possèdent les ordinateurs modernes.
 

CG2000

XLDnaute Occasionnel
Re : Création d'un bloc égal à 6 lignes par référence

Bonjour à tous,

Un très grand remerciement CBernardT, JCGL,

Les modifs ont été faites comme préconisé par vos conseils et explications.
Les essais sont très bon et le résultat final est parfait.
Quel soulagement pour mes petites mains de ne pus ajouter des lignes manuellement.

En ce qui me concerne le sujet est clos.
Très bonne journée.


CG2000
 

Discussions similaires

Réponses
8
Affichages
431

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 977
dernier inscrit
Hermet