• Publicité

Trier et exporter des données sous Excel

Dans ce forum, vous pouvez poser toutes vos questions concernant l'utilisation de logiciels de bureautique (Microsoft Office, Open Office, etc.)

Modérateurs: Sebastien, Stéphane, Christophe

Trier et exporter des données sous Excel

Messagepar DOBINETS » 06 Sep 2017 09:58

Bonjour,
À partir d'un fichier Excel qui me sert de base de données, je souhaite dans un nouveau fichier soient regroupés par onglet des informations à partir de critères de sélections.
Pour être plus clair (et je peux fournir mon fichier) j'ai une liste d'élèves avec colonne A : Date et heure, colonne B : NOM, colonne C : Prénom ensuite nous avons 5 colonnes qui peuvent contenir les cours où sont inscrits ces élèves; ainsi ils peuvent avoir de 1 à 5 cours mais jamais 2 cours identiques. Nous avons 25 cours différents disponibles.
Je veux donc avoir un fichier avec 25 onglets (1 par cours) et dans chaque onglet sera porté la liste des élèves inscrits dans ce cours avec Nom, Prénom et horodatage. Sachant que dans le cadre de l'association à qui est destinée ces fichiers nous avons des personnes qui travaillent sous Mac et d'autres sous PC, j'aimerai éviter les incompatibilités en particulier en évitant l'utilisation de macros.
Pour ma part il s'agit d'un problème complexe et j'espère l'avoir bien exposé mais je peux affiner ma présentation voir joindre mon fichier base de données.
Merci par avance à tous ceux qui se pencheront sur mon problème et j'espère qu'il a une ou des solutions.
Cordialement
Jean Pierre
DOBINETS
No0b
No0b
 
Messages: 4
Enregistré le: 23 Aoû 2017 13:46
Localisation: Nièvre

Re: Trier et exporter des données sous Excel

Messagepar Sebastien » 08 Sep 2017 19:03

Bonjour,
DOBINETS a écrit:Nous avons 25 cours différents disponibles. Je veux donc avoir un fichier avec 25 onglets (1 par cours) et dans chaque onglet sera porté la liste des élèves inscrits dans ce cours avec Nom, Prénom et horodatage. Sachant que dans le cadre de l'association à qui est destinée ces fichiers nous avons des personnes qui travaillent sous Mac et d'autres sous PC, j'aimerai éviter les incompatibilités en particulier en évitant l'utilisation de macros.

Sans macro, ça va être trop compliqué. Par contre la macro n'est pas forcement un problème. Si j'ai bien compris, vous souhaitez un fichier contenant les 25 onglets et c'est ce fichier qui pourra être ouvert sur différents types d'ordinateur. Si on utilise une macro, elle sera placée dans le fichier de base de données et pas dans le fichier de résultat. Donc normalement, pas de problème.

Si vous voulez, on peut tester ça. Par contre, il nous faut un fichier pour tester la macro. Il faudra que ce fichier soit anonymisé (pas de données personnelles et/ou confidentielles / vous pouvez remplacer les noms par eleve1, eleve2 etc...)
Pour partager un fichier, vous pouvez utiliser le site http://www.cjoint.com/

@+
Image
Avatar de l’utilisateur
Sebastien
Administrateur
Administrateur
 
Messages: 5348
Enregistré le: 14 Fév 2005 19:17
Localisation: LILLE

Re: Trier et exporter des données sous Excel

Messagepar DOBINETS » 11 Sep 2017 11:06

Bonjour Sébastien,
tout d'abord désolé de ce retard à répondre mais ce WE je me suis absenté. Par contre j'ai peut-être une solution avec une "petite" macro mais seulement de tri donc qui, je pense, ne devrait pas affecter la compatibilité Mac <-> PC (à condition de ne pas utiliser de lettre accentuées comme nom d'onglet.
Ainsi sur mon fichier résultat à chaque onglet j'ai une ligne de titre et je ne remplis que 280 lignes d'informations.
Ainsi dan mon fichier résultat j'ai mes 3 colonnes où je souhaite récupérer des informations de mon fichier initial qui se nomme INSCRIPTIONS; je porte cette formule dans les cellules :
=SI(NB.SI([INSCRIPTION.xlsm]GENERAL'!$AG2:$AK2;$A$1);[INSCRIPTION.xlsm]GENERAL'!$B2;"")
Et j'ai prévu à chaque fois que l'onglet est sélectionné de faire le tri suivant.

Private Sub Worksheet_Activate()
Rows("1:283").Select
ActiveWorkbook.Worksheets("CLASSIQUE ADULTES").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("CLASSIQUE ADULTES").Sort.SortFields.Add Key:=Range("B2:B283") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("CLASSIQUE ADULTES").Sort
.SetRange Range("1:283")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A2").Select
End Sub

Jusque là tout va bien mais lorsque je ferme mon travail et reviens dessus par la suite lorsque j'ouvre mon classeur résultat et àprès avoir accepté la mise à jour du fichier, les formules ont changé et sont devenus
=SI(NB.SI('E:\Fichiers pour rentrée scolaire SKD 2017\[INSCRIPTION.xlsm]GENERAL'!$AG2:$AK2;$A$1);'E:\Fichiers pour rentrée scolaire SKD 2017\[INSCRIPTION.xlsm]GENERAL'!$B2;"")
Et là toute mes cellules ont droit #VALEUR! par contre tout semble s'arranger si j'ouvre le fichier initial. Ne serait-il pas possible de lier le fichier résultat à un fichier initial avec une adresse relative sachant que les 2 fichiers sont dans le même dossier?
Je vous joins les 2 fichiers
NB : je n'ai fait la macro de tri que pour le premier onglet "CLASSIQUES ADULTES" je mettrai à jour pour les autres onglets plus tard.
http://www.cjoint.com/c/GIlkcfKjt3O
http://www.cjoint.com/c/GIlkfZVPFmO
DOBINETS
No0b
No0b
 
Messages: 4
Enregistré le: 23 Aoû 2017 13:46
Localisation: Nièvre


Retourner vers Forum d'entraide : Bureautique

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invités

  • Publicité