VBAExcel Regrouper certains enr et pas d'autr
Résolu
Ménilmuche
Messages postés
18
Date d'inscription
Statut
Membre
Dernière intervention
-
Menilmuche -
Menilmuche -
Bonjour à tous !
Voici mon souci :
J'ai une base de données de clients de 30 000 enregistrements. Un fichier classique avec nom, adresse, code postal, ville, pays.
Je dois regrouper ceux qui sont à une même adresse, même ville, même code postal, quel qu'en soit le nombre, pour n'en faire qu'un seul enregistrement avec comme libellé du nom : Centre culturel.
Par contre les clients qui sont seuls à une adresse doivent rester tels quels.
Je n'ai pas réussi via l'extraction sans doublon du filtre élaboré. Si quelqu'un pouvait me donner quelques pistes pour utiliser une macro, qui m'éviterait des formules "SI" multiples, cela serait un réel soulagement !
Je travaille sur la version 2000 (si, ça existe encore !!) d'Excel.
Je n'ai pas la solution avec les tris successifs, ni avec les filtres successifs. Même si j'obtiens les enr classés par ville puis par adresse puis par nom, il faut toujours que je fasse manuellement le regroupement des clients qui sont à la même adresse postale. Sur un fichier de 30 000 enr, cela risque de me prendre vraiment beaucoup de temps.
Et si je fais une extraction sur les adresses, le résultat est faux car il existe des adresses identiques dans des villes différentes.
Données/ Sous-total ne m'est d'aucun secours étant donné que je n'ai besoin d'aucun calcul sur les nombre d'enr ou autre fonction de calcul.
Ce dont j'ai besoin, c'est que la base soit lue, qu'à chaque enr exactement semblable dans les champs pays, ville, code postal et adresse, dans le cas où il n'y a qu'un seul enr, il reste tel quel, s'il y a plusieurs enr avec des noms différents, tous ces enr soit remplacés par un seul prenant le nom de "centre culturel".
Je ne vois pas quelle fonction utiliser pour parvenir à ceci.
Voici un exemple du document de départ (Test) :
https://www.cjoint.com/?0FmnyeN9nI9
et ce que je dois obtenir après (Test_résultat) :
https://www.cjoint.com/?0FmnzEYEM8D
Merci d'avance à ceux qui me répondront.
Ménilmuche
Voici mon souci :
J'ai une base de données de clients de 30 000 enregistrements. Un fichier classique avec nom, adresse, code postal, ville, pays.
Je dois regrouper ceux qui sont à une même adresse, même ville, même code postal, quel qu'en soit le nombre, pour n'en faire qu'un seul enregistrement avec comme libellé du nom : Centre culturel.
Par contre les clients qui sont seuls à une adresse doivent rester tels quels.
Je n'ai pas réussi via l'extraction sans doublon du filtre élaboré. Si quelqu'un pouvait me donner quelques pistes pour utiliser une macro, qui m'éviterait des formules "SI" multiples, cela serait un réel soulagement !
Je travaille sur la version 2000 (si, ça existe encore !!) d'Excel.
Je n'ai pas la solution avec les tris successifs, ni avec les filtres successifs. Même si j'obtiens les enr classés par ville puis par adresse puis par nom, il faut toujours que je fasse manuellement le regroupement des clients qui sont à la même adresse postale. Sur un fichier de 30 000 enr, cela risque de me prendre vraiment beaucoup de temps.
Et si je fais une extraction sur les adresses, le résultat est faux car il existe des adresses identiques dans des villes différentes.
Données/ Sous-total ne m'est d'aucun secours étant donné que je n'ai besoin d'aucun calcul sur les nombre d'enr ou autre fonction de calcul.
Ce dont j'ai besoin, c'est que la base soit lue, qu'à chaque enr exactement semblable dans les champs pays, ville, code postal et adresse, dans le cas où il n'y a qu'un seul enr, il reste tel quel, s'il y a plusieurs enr avec des noms différents, tous ces enr soit remplacés par un seul prenant le nom de "centre culturel".
Je ne vois pas quelle fonction utiliser pour parvenir à ceci.
Voici un exemple du document de départ (Test) :
https://www.cjoint.com/?0FmnyeN9nI9
et ce que je dois obtenir après (Test_résultat) :
https://www.cjoint.com/?0FmnzEYEM8D
Merci d'avance à ceux qui me répondront.
Ménilmuche
A voir également:
- VBAExcel Regrouper certains enr et pas d'autr
- Comment regrouper des applications sur android - Accueil - Guide Android
- Comment regrouper des pdf - Guide
- Regrouper plusieurs feuilles excel en une seule - Guide
- Pourquoi certains sites sont inaccessibles - Guide
- Pourquoi certains contacts disparaissent de mon répertoire - Accueil - Guide Android
2 réponses
bonjour
dans la mesure où les données sont triées comme dans le fichier joint, la macro suivante fonctionne:
bonne suite
dans la mesure où les données sont triées comme dans le fichier joint, la macro suivante fonctionne:
Derlig = Range("A" & Rows.Count).End(xlUp).Row For i = Derlig To 3 Step -1 If Cells(i, 2) = Cells(i - 1, 2) And Cells(i, 3) = Cells(i - 1, 3) And Cells(i, 4) = Cells(i - 1, 4) Then Cells(i - 1, 1) = "Centre culturel" Rows(i).Delete End If Next
bonne suite
Pourquoi ouvrir ce sujet sur le forum programmation à une heure où le souci était quasi résolu sur le forum bureautique?
http://www.commentcamarche.net/forum/affich-25360263-excel-regrouper-certains-enr-et-pas-d-autres
http://www.commentcamarche.net/forum/affich-25360263-excel-regrouper-certains-enr-et-pas-d-autres
Re bonjour Paf !
Comme je l'ai signalé dans mon précédent commentaire, ma seconde question s'est croisée avec la solution que m'a donnée gbinforme.
Dès que je me suis rendue compte de mon erreur, j'ai signalé ma seconde question comme étant un doublon.
Ayant reçu un mail m'indiquant que cette seconde demande avait été supprimée, je ne pensais pas recevoir de réponse à partir du forum programmation.
Par contre, je ne sais pas comment indiquer que mon problème est résolu.
Encore merci pour votre aide si efficace !
Ménilmuche
Comme je l'ai signalé dans mon précédent commentaire, ma seconde question s'est croisée avec la solution que m'a donnée gbinforme.
Dès que je me suis rendue compte de mon erreur, j'ai signalé ma seconde question comme étant un doublon.
Ayant reçu un mail m'indiquant que cette seconde demande avait été supprimée, je ne pensais pas recevoir de réponse à partir du forum programmation.
Par contre, je ne sais pas comment indiquer que mon problème est résolu.
Encore merci pour votre aide si efficace !
Ménilmuche
Merci pour l'intérêt témoigné à mon problème.
La première réponse que j'ai obtenue ne résolvait pas mon souci. Avant que j'obtienne la solution de gbinforme sur le forum bureautique, je pensais m'être trompée de forum et j'ai posté ma question sur le forum programmation. Ma seconde question et la réponse de gbinforme se sont croisées.
C'est vraiment génial d'avoir aussi vite des réponses adéquates et je vous réitère ma profonde gratitude pour votre générosité. J'ai eu un tout petit souci de déclaration de variables dans votre solution, mais je m'en suis sortie rapidement.
Encore mille mercis !
Ménilmuche