Affichage d'une liste selon plusieurs critères
Résolu
Tonie
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
cs_Le Pivert Messages postés 7904 Date d'inscription Statut Contributeur Dernière intervention -
cs_Le Pivert Messages postés 7904 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Sur le premier onglet de mon fichier excel, j'ai une liste de nom en ligne avec des informations correspondante sur plusieurs colonne type (mail, departement, etc)
Sur les autres onglets de mon fichiers sont référencés les régions. (NORD / BRETAGNE / CENTRE... )
Je souhaiterais pouvoir extraire de ma liste du premier onglet les noms, et les afficher sous forme de liste dans chaque Region correspondante en fonction d'une recherche département.
D'avance merci de votre aide.
Sur le premier onglet de mon fichier excel, j'ai une liste de nom en ligne avec des informations correspondante sur plusieurs colonne type (mail, departement, etc)
Sur les autres onglets de mon fichiers sont référencés les régions. (NORD / BRETAGNE / CENTRE... )
Je souhaiterais pouvoir extraire de ma liste du premier onglet les noms, et les afficher sous forme de liste dans chaque Region correspondante en fonction d'une recherche département.
D'avance merci de votre aide.
Configuration: Windows / Chrome 83.0.4103.97
A voir également:
- Affichage d'une liste selon plusieurs critères
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Affichage double ecran - Guide
- Site dangereux liste - Guide
6 réponses
Bonjour à tous,
Autrement dit, tu veux dans chaque onglet departement la liste des clients estraite de la liste generale du premier onglet ?
si c'est ça,
Un fichier (test ou non), complété par des explications exhaustives et des exemples remplis à la main, mis sur https://www.cjoint.com/ permettrait aux intervenants de répondre plus précisément à ta question.
Crdmt
Autrement dit, tu veux dans chaque onglet departement la liste des clients estraite de la liste generale du premier onglet ?
si c'est ça,
Un fichier (test ou non), complété par des explications exhaustives et des exemples remplis à la main, mis sur https://www.cjoint.com/ permettrait aux intervenants de répondre plus précisément à ta question.
Crdmt
Bonjour,
Suite à votre demande, veuillez trouver le fichier type en exemple
https://www.cjoint.com/c/JFrnXylhTH8
D'avance merci.
Suite à votre demande, veuillez trouver le fichier type en exemple
https://www.cjoint.com/c/JFrnXylhTH8
D'avance merci.
Bonjour,
Merci !
Donc si je comprends bien (excusé moi je ne suis pas très à l'aise avec les macros ) .
1 -
Call boucledepartement("BRETAGNE", "1") 'nom de la région,numero colonne concernée A Worksheets("LIST_DEP")
Call boucledepartement("NORD", "2") 'nom de la région,numero colonne concernée B Worksheets("LIST_DEP")
Ici je n'ai plus qu'à déclarer mes autres régions ?
2 -
DerniereCellule_Ligne = FL2.Range("A" & Rows.Count).End(xlUp).Row + 1
FL2.Cells(DerniereCellule_Ligne, 1) = FL1.Cells(ligne, colonne - 1) 'nom
FL2.Cells(DerniereCellule_Ligne, 3) = FL1.Cells(ligne, colonne + 1) 'mail
FL2.Cells(DerniereCellule_Ligne, 2) = FL3.Cells(NoLig, NoCol) 'numero du département
et ici ajouter les colonne suivant à incrementer?
Dans tout les cas je vais essayer.
Encore merci de votre retour et pour cette solution proposé ! Je vous tiens informé !
Cdt,
Merci !
Donc si je comprends bien (excusé moi je ne suis pas très à l'aise avec les macros ) .
1 -
Call boucledepartement("BRETAGNE", "1") 'nom de la région,numero colonne concernée A Worksheets("LIST_DEP")
Call boucledepartement("NORD", "2") 'nom de la région,numero colonne concernée B Worksheets("LIST_DEP")
Ici je n'ai plus qu'à déclarer mes autres régions ?
2 -
DerniereCellule_Ligne = FL2.Range("A" & Rows.Count).End(xlUp).Row + 1
FL2.Cells(DerniereCellule_Ligne, 1) = FL1.Cells(ligne, colonne - 1) 'nom
FL2.Cells(DerniereCellule_Ligne, 3) = FL1.Cells(ligne, colonne + 1) 'mail
FL2.Cells(DerniereCellule_Ligne, 2) = FL3.Cells(NoLig, NoCol) 'numero du département
et ici ajouter les colonne suivant à incrementer?
Dans tout les cas je vais essayer.
Encore merci de votre retour et pour cette solution proposé ! Je vous tiens informé !
Cdt,
réponse 1:
oui comme ceci:
le nom de la feuille région en respectant la casse et le numéro de colonne ici 3 par exemple
réponse 2:
là j'ai ajouté une colonne adresse en changeant la colonne en +2 et dans la feuille réceptrice en 4
Quand on a compris le principe ce n'est pas très compliqué. C'est de la déduction!
dans l'exemple les listes commencent sur la 5ème ligne. Si on veut les faire démarrer sur la 2 ème ligne il suffit de changer 5 en 2 dans le code
Bon courage, n’hésitez pas en cas de difficulté
@+ Le Pivert
oui comme ceci:
Call boucledepartement("CENTRE", "3") 'nom de la région,numero colonne concernée C Worksheets("LIST_DEP")
le nom de la feuille région en respectant la casse et le numéro de colonne ici 3 par exemple
réponse 2:
DerniereCellule_Ligne = FL2.Range("A" & Rows.Count).End(xlUp).Row + 1 FL2.Cells(DerniereCellule_Ligne, 1) = FL1.Cells(ligne, colonne - 1) 'nom FL2.Cells(DerniereCellule_Ligne, 3) = FL1.Cells(ligne, colonne + 1) 'mail FL2.Cells(DerniereCellule_Ligne, 4) = FL1.Cells(ligne, colonne + 2) 'adresse FL2.Cells(DerniereCellule_Ligne, 2) = FL3.Cells(NoLig, NoCol) 'numero du département et ici ajouter les colonne suivant à incrementer?
là j'ai ajouté une colonne adresse en changeant la colonne en +2 et dans la feuille réceptrice en 4
Quand on a compris le principe ce n'est pas très compliqué. C'est de la déduction!
dans l'exemple les listes commencent sur la 5ème ligne. Si on veut les faire démarrer sur la 2 ème ligne il suffit de changer 5 en 2 dans le code
For NoLig = 2' il y a 2 changements à effectuer
Bon courage, n’hésitez pas en cas de difficulté
@+ Le Pivert
Encore merci pour votre aide,
Je pense avoir saisis pour la déclaration des régions...
Par contre pour la réponse 2 c'est le flou, comment savoir quel est la position des colonnes, est ce que c'est à partir de l'onglet d'extraction ou est ce sur les colonnes de destination?
Vous trouverez ci-joint un exemple plus complet du document que je cherche a automatiser.
https://www.cjoint.com/c/JFskqpj0gt8
D'avance merci de votre aide.
Je pense avoir saisis pour la déclaration des régions...
Par contre pour la réponse 2 c'est le flou, comment savoir quel est la position des colonnes, est ce que c'est à partir de l'onglet d'extraction ou est ce sur les colonnes de destination?
Vous trouverez ci-joint un exemple plus complet du document que je cherche a automatiser.
https://www.cjoint.com/c/JFskqpj0gt8
D'avance merci de votre aide.
J'ai oublié d'effacer les anciennes données, sinon cela va s'accumuler à chaque lancement de la macro .
Mettre ceci:
Mettre ceci:
Option Explicit Sub test() 'a compléter Call boucledepartement("AURA", "1") 'nom de la région,numero colonne concernée A Worksheets("LIST_DEP") Call boucledepartement("EST", "2") 'nom de la région,numero colonne concernée B Worksheets("LIST_DEP") Call boucledepartement("IDF", "3") 'nom de la région,numero colonne concernée C Worksheets("LIST_DEP") Call reset("NBC")'effacement des anciennes données Call boucledepartement("NBC", "4") 'nom de la région,numero colonne concernée D Worksheets("LIST_DEP") Call boucledepartement("NORD", "5") 'nom de la région,numero colonne concernée E Worksheets("LIST_DEP") Call reset("PACA")'effacement des anciennes données Call boucledepartement("PACA", "6") 'nom de la région,numero colonne concernée F Worksheets("LIST_DEP") Call boucledepartement("SO", "7") 'nom de la région,numero colonne concernée G Worksheets("LIST_DEP") Call boucledepartement("AUTRE", "8") 'nom de la région,numero colonne concernée H Worksheets("LIST_DEP") End Sub 'effacement des anciennes données Sub reset(ByVal feuille As String) 'nettoie la feuille Dim DerniereCellule_Ligne As Long DerniereCellule_Ligne = Worksheets(feuille).Range("A" & Rows.Count).End(xlUp).Row If Worksheets(feuille).Range("A6") = "" Then Exit Sub Worksheets(feuille).Range("A6:H" & DerniereCellule_Ligne).ClearContents End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question