[VBA]Compter lignes puis diviser en 4 groupes

Résolu/Fermé
lorenzozo201 Messages postés 15 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 17 février 2012 - 5 nov. 2009 à 09:51
 lorenzozo201 - 6 nov. 2009 à 11:39
Bonjour,
Je débute sur VBA, et je suis face à cette problématique sous excel, j'ai un bloc de ligne continue d'une quantité variable, j'ai besoin de prendre ce bloc, de le diviser en 4 sous-bloc égaux (si multiple de 4 sinon par exemple un bloc de 10 et trois blocs de 11) et de coller en suite chaque sous bloc à un autre endroit afin de pouvoir utiliser tout cela en publipostage. La séquence copier-coller et déplacer, pas de problème mais par contre avant !!!! Là, je nage, faut-il utiliser un compteur ? Comment utiliser le résultat du compteur ????
Merci par avance de votre aide !!!!

A+

Lorenzozo201
A voir également:

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
5 nov. 2009 à 16:09
Bonjour,
Le nombre de lignes sous VBA Excel c'est facile :

Dim NbLignes As Integer
NbLignes = ActiveSheet.UsedRange.Rows.Count

Attention, ce code compte toutes les lignes non vides de la feuille...

Ensuite tu divises par 4 et tu fais toutes tes copy comme suit :

Dim NbLignes As Integer, Val As Integer, premlig As Integer, derlig As Integer
NbLignes = ActiveSheet.UsedRange.Rows.Count
Val = NbLignes / 4
premlig = ActiveSheet.UsedRange.Row
derlig = Range("A65536").End(xlUp).Row
Range("A" & premlig & ":A" & premlig + Val).Copy Sheets("Feuil2").Range("A1") 'ici tu fais coller ou tu veux [genre Sheets("Feuil2").Range("A1")]
Range("A" & premlig + Val + 1 & ":A" & premlig + 2 * Val).Copy 'ici tu fais coller ou tu veux
Range("A" & premlig + 2 * Val + 1 & ":A" & premlig + 3 * Val).Copy 'ici tu fais coller ou tu veux
Range("A" & premlig + 3 * Val + 1 & ":A" & derlig).Copy 'ici tu fais coller ou tu veux
0
lorenzozo201
6 nov. 2009 à 11:39
Merci mille fois pour cela, cela marche, génial !

A+

Lorenzozo
0