Excel insertion ligne vide selon critères

Résolu/Fermé
Alendo Messages postés 6 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 29 novembre 2007 - 27 août 2007 à 16:01
Alendo Messages postés 6 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 29 novembre 2007 - 27 août 2007 à 23:34
Bonjour,

Je cherche un code pour macro excel qui me permettrait de séparer des lignes selon des critères.

Je m'explique :

Je fais des statistiques pour les commerciaux par départements. J'ai une feuille excel par commercial et dans chaque feuille, j'ai la liste de ses clients (COLONNE A) classés par départements (COLONNE B).

Je commence à me débrouiller dans les codes simples, mais pas suffisament, et je voudrais savoir si un balèze en programmation pouvait me pondre un petit code me permettant d'insérer une ligne entre chaque département.

En gros, j'ai ceci :

COLONNE A_________COLONNE B
PHARMACIE aaaaaaaa 04100
PHARMACIE bbbbbbbb 04130
PHARMACIE cccccccccc 06000
PHARMACIE dddddddd 06000
PHARMACIE eeeeeeee 06300
PHARMACIE ffffffffffff 06300
PHARMACIE gggggggg 06450
PHARMACIE hhhhhhhh 07100
PHARMACIE mmmmmm 26540
PHARMACIE zzzzzzzzz 26700

et je voudrais ceci :

COLONNE A_________COLONNE B
PHARMACIE aaaaaaaa 04100
PHARMACIE bbbbbbbb 04130

PHARMACIE cccccccccc 06000
PHARMACIE dddddddd 06000
PHARMACIE eeeeeeee 06300
PHARMACIE ffffffffffff 06300
PHARMACIE gggggggg 06450

PHARMACIE hhhhhhhh 07100

PHARMACIE mmmmmm 26540
PHARMACIE zzzzzzzzz 26700

Ce n'est qu'un exemple. Si je n'avais que cette dizaine de lignes je ne vous demanderais rien. En tout j'ai une cinquantaine de feuilles Excel d'environ 500 lignes chacune à traiter à chaque fin de mois et actuellement, je me tape les insertions de lignes à la main. Un petit code de derrière les fagots me ferait gagner de précieuses heures.

Voilà.

Merci d'avance à ceux qui pourront m'aider, ainsi qu'à ceux qui ne pourront qu'essayer.

al
A voir également:

4 réponses

_thierry_ Messages postés 8 Date d'inscription jeudi 26 octobre 2006 Statut Membre Dernière intervention 24 mai 2008
27 août 2007 à 16:44
salut,

essaye avec un truc comme çà :

For i = 1 To 5
j = i + 1
Range("B" & i).Select
departement1 = ActiveCell.Value
Range("B" & j).Select
departement2 = ActiveCell.Value
If departement1 <> departement2 Then
Rows(j & ":" & j).Select
Selection.Insert Shift:=xlDown
i = i + 1
End If
Next

Je ne garantis pas que ce soit la meilleur solution, ni même que çà marche, mais j'espère que çà t'aidera
0
Alendo Messages postés 6 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 29 novembre 2007
27 août 2007 à 17:09
C'est pas mal, thierry, c'est super pas mal.

Bon, j'ai fait quelques modifs (For i = 1 To 1000, par exemple) mais y'a un truc qui va pas. Ce code sépare toutes les valeurs différentes des cellules de la colonne. Par exemple, il sépare les 06000 des 06300. Je voudrais en fait qu'il sépare tout ce qui commence par 26 de tout ce qui commence par 27, par exemple.

Sinon c'est nickel

al
0
enigmatoile Messages postés 730 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mars 2008 5
27 août 2007 à 17:42
Bonjour,

Je pense qu'au lieu de

If departement1 <> departement2

Il faut que tu fasses

If Left(departement1;2) <> Left(departement2;2)

Ca devrait faire pile poil ce que tu veux
0
Alendo Messages postés 6 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 29 novembre 2007
27 août 2007 à 23:34
Alors là bravo les gars, c'est effectivement pile poil ce qu'il me fallait. Un grand merci à vous deux. Vous êtes des chefs.
Euh...je dis ça mais si ça se trouve vous êtes des d'jeuns...Alors z'y va les keums, z'êtes des teubés.

Je connaissais pas ce code "departement". Ca va bien me servir.

Encore merci.

al

ps : fallait mettre des virgules à la place des point-virgules ;-)
0