Formule excel

olive69300 - 21 sept. 2023 à 11:01
ccm81 Messages postés 10862 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 30 mai 2024 - 25 sept. 2023 à 14:30

bonjour,

je cherche une ou un ensemble de formule me permettant d'un tableau de données (feuille1) :

COLONNE A                    COLONNE B

PARIS                               COLLEGE X

PARIS                               ECOLE X

PARIS                               LYCEE X

LYON                                COLLEGE X

LYON                                LYCEE X

MARSEILLE                     ECOLE X

Etc.....

à un classement sur le feuillet 2 comme ça :

COLONNE 1               COLONNE 2       COLONNE 3     COLONNE 4

PARIS                         LYON                  MARSEILLE      Etc...

COLLEGE X               COLLEGE X       ECOLE X

ECOLE X                    LYCEE X            

LYCEE X

de manière automatique dès que je mets à jour la base de données feuillet 1 à jour.

D'avance merci

10 réponses

Merci DerekTT,

mais ma version Excel date de 2016 et je n'ai pas la fonction "filtre" toute seule;

Bien dommage, ca paraissait si simple !

Cordialement

1
ccm81 Messages postés 10862 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 30 mai 2024 2 408
21 sept. 2023 à 12:07

Bonjour

Un essai avec macro

https://www.cjoint.com/c/MIvkhrsULwB

Cdlmnt

0

Merci ccm81, c'est exactement ce que je voulais....mais comme je suis un "cyberquiche" en macro.....comment l'utiliser dans mon doc ?

d'avance merci.

0
ccm81 Messages postés 10862 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 30 mai 2024 2 408
21 sept. 2023 à 16:13

1. Alt-F11 pour accéder à l'éditeur vba (chez toi et chez moi)
2. Insertion/module pour créer le Module 1
   copier l'intégralité du code de mon Module 1 dans ton Module1
3. copier le code de ma feuille 1 dans ta feuille source (je ne connais pas son nom)
4. copier le code de ma feuille 2 dans ta feuille but (je ne connais pas son nom)
5. Reviens dans ton Module 1
tu modifies les valeurs des constantes selon ta configuration
' feuille source
Public Const F1 = "Feuil1"
Public Const covilFS = 1    ' colonne villes
Public Const coetaFS = 2    ' colonne établissements
Public Const lidebFS = 2    ' première ligne des données

' feuille but
Public Const F2 = "Feuil2"    
Public Const livilFB = 1    ' lignes des villes
Public Const codebFB = 1    ' première colonne des villes

6. Enregistres ton fichier avec le type .xlsm
fichier / Enregistrer sous / type ....prenant en compte les macros

RQ. Si c'est trop compliqué, envoies un bout de ton vrai fichier, je te le complèterai

Cdlmnt

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question

Bonjour ccm81,

Merci pour tes conseils, mais je n'ai pas de code dans ta feuille2 à recopier dans ma feuil but (Cf : ton point n°4)

J'ai peut-être pas tout compris ou fait une mauvaise manip. Alors le mieux et comme proposé, je te transfert mon fichier pour que tu puisses le compléter avec plus d'efficience que moi !

Je te remercie pour le temps accordé à me dépatouiller de mon problème

Bien cordialement;

PS: pour info et en rapport avec le message qui apparait à l'ouverture, j'ai voulu intégrer un calendrier déroulant dans le feuillet "saisies" case date..et je n'ai bien entendu pas réussi !

https://www.cjoint.com/c/MIwj2JqJLr5

0
DerekTT Messages postés 6 Date d'inscription mardi 20 juin 2023 Statut Membre Dernière intervention 22 septembre 2023
Modifié le 22 sept. 2023 à 14:28

Bonjour,

Si vous souhaitez comprendre ce que vous faites et que vous êtes débutante, les macros ne semblent pas indispensables ici.

En fonction de l'ancienneté de votre version Excel, vous pouvez par exemple utiliser des formules comme : 

=TRANSPOSE(UNIQUE(A1:A6))

(à supposer que vos villes soient en colonne A)

Puis, sur la ligne suivante, appliquer un :

=FILTRE($B$1:$B$6;$A$1:$A$6=D2)

N'hésitez pas à consulter nos exercices gratuits (avec corrigés et aide par étape)

https://www.solpedinn.com/challenges/1-trier-et-filtrer-une-liste

qui vous aideront peut-être à mieux appréhender Excel, surtout dans sa version moderne

https://www.solpedinn.com/articles/tout-savoir-sur-le-modern-excel


0
DerekTT Messages postés 6 Date d'inscription mardi 20 juin 2023 Statut Membre Dernière intervention 22 septembre 2023
22 sept. 2023 à 15:07

Un fichier vaut mille mots ? Voici l'exemple : 

https://www.cjoint.com/c/MIwngBr8gW4


0
ccm81 Messages postés 10862 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 30 mai 2024 2 408
22 sept. 2023 à 15:31

Bonjour

Ton fichier complété, va dans la feuille BDCommune

Ctrl+t transfère toutes les données

L'ajout d'une donnée sera ensuite pris en compte comme dans la version initiale

https://www.cjoint.com/c/MIwnzCXXHdB

Cdlmnt

0

Bonjour ccm81,

Trop fort...C'est exactement ca ! merci à toi.

Avec ta version Excel de 2007 tu n'as que 256 colonnes, comment je fais pour l'installer sur ma version 2016 qui à le nombre de colonnes nécessaires à l'incrémentations de mes 700 et quelques communes ?

J'ai essayé de copier feuillet et module mais le commande "Ctrl t" ne fonctionne pas. En ouvrant les deux versions, j'ai essayé de faire fonctionner ta macro dans mon fichier...toujours pas. C'est râlant car je sens que je ne suis pas loin...

As-tu une dernière ficelle ? D'avance merci pour le temps accordé à mon problème.

Cordialement.  

0
ccm81 Messages postés 10862 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 30 mai 2024 2 408
Modifié le 25 sept. 2023 à 14:35

Bonjour

Avec ta version Excel de 2007 tu n'as que 256 colonnes, comment je fais pour l'installer sur ma version 2016 qui à le nombre de colonnes nécessaires à l'incrémentations de mes 700 et quelques communes ?

Je te l'ai expliqué dans la feuille BDCommune, (je me suis limité à 100 lignes pour tester et ne pas avoir plus de 255 colonnes)

3. Dans la procedure TransfererTout
    3.1. mettre un ' devant la ligne   lifin = 100
    3.2. enlever ' devant la ligne   'lifin = .Cells(Rows.Count, covilFS).End(xlUp).Row

J'ai essayé de copier feuillet et module mais le commande "Ctrl t" ne fonctionne pas. En ouvrant les deux versions, j'ai essayé de faire fonctionner ta macro dans mon fichier...toujours pas

Pour affecter un raccourci clavier à une macro pour excel > 2007

Pour affecter un raccourci-clavier aux macros
Sous l’onglet Développeur, dans le groupe Code, cliquez sur Macros.
Onglet Développeur du ruban
Dans la zone Nom de la macro, cliquez sur la macro à affecter à une touche de raccourci utilisant la touche Ctrl.
Pour Afficher l'onglet Développeur
Sous l'onglet Fichier , accédez à Options > Personnaliser le ruban.
Sous Personnaliser le ruban et Onglets principaux, activez la case à cocher Développeur.

Comme cette procedure n'est à utilise qu'une seule fois, tu peux te contenter de l'exécuter directement : Tu te places n'importe où dans le code de la procedure TransfererTout,puis Exécuter

Cdlmnt

0