Menu

Récupérer plusieurs lignes dans une seule sur une autre feuille [Résolu]

Olivia - 5 sept. 2017 à 16:15 - Dernière réponse :  Olivia
- 18 sept. 2017 à 16:25
Bonjour,

J'ai un fichier avec un certain nombre de colonnes,
et sur plusieurs lignes, le contenu de ces colonnes est identique (identifiant, date de naissance, salle, date).
Sauf une colonne où on va avoir 2 valeurs différentes au format heure (i.e. sur toutes les lignes concernées il y aura soit une valeur x ou une valeur y pour l'heure).
Le nombre de lignes qui ont une partie du contenu identique varie de 2 à 6 max.
Le fichier contient a peu près 1000 lignes.

J'aimerais récupérer les champs identiques sur une seule ligne, et ajouter dans deux nouvelles colonnes (heure d'entrée et heure sortie) les deux heures.

Pouvez-vous m'aider avec la formule ? Je suppose qu'il y a plusieurs SI à la suite, mais c'est trop compliqué, je n'ai pas le niveau.

Merci d'avance!



Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
1
Merci
Merci pour ta réponse via 55
Voilà le lien http://www.cjoint.com/c/GIhjhiJOXPU

C'est un fichier avec un certain nombre de colonnes,
et sur plusieurs lignes, le contenu de ces colonnes est identique.
J'aimerais récupérer les champs identiques sur une seule ligne.

A ce contenue identique s'associent 2 valeurs différentes au format heure de la colonne "heures" (i.e. sur les lignes identiques il y aura heure x ou y.
j'aimerai ajouter dans deux nouvelles colonnes l'heure x = la plus petite des deux et heure y = la plus grande des deux.

Il y a aussi la colonne de "code", qui peut varier. Une heure démarrée et terminé auront un ou plusieurs codes.
Le nombre de lignes qui ont une partie du contenu identique varie de 2 à 6 max.

J'aimerais récupérer les champs identiques sur une seule ligne, et ajouter dans deux nouvelles colonnes l'heure x = plus petite et heure y = heure plus grande), et récupérer tous les codes sur une même ligne avec des slash sans espace.

Mes notions d'Excel ne me permettent pas de faire tout en un.
Sauriez-vous m'aider avec ça? Pour moi c'est juste trop compliqué, je vois même pas par quel bout commencer.

Merci Olivia 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 24265 internautes ce mois-ci

Commenter la réponse de Olivia
via55 9336 Messages postés mercredi 16 janvier 2013Date d'inscription 21 juin 2018 Dernière intervention - 5 sept. 2017 à 17:29
0
Merci
Bonjour

Pas très clair !

Poste plutôt un exemple de ton fichier sur cjoint.com, fais créer un lien que tu copies et reviens coller ici, tu aura plus de chance d'avoir de l'aide

Cdlmnt
Via
Commenter la réponse de via55
via55 9336 Messages postés mercredi 16 janvier 2013Date d'inscription 21 juin 2018 Dernière intervention - 7 sept. 2017 à 18:37
0
Merci
Bonjour

Ok il faut passer par une macro
https://mon-partage.fr/f/UEKaRZKA/

La macro se lance depuis la feuille 1 avec la raccourci clavier Ctrl + m et reporte les données en feuille2

Alt + F11 pour voir le code de la macro commenté

Cdlmnt
Via
Commenter la réponse de via55
0
Merci
Merci pour la macro!
Par contre elle semble de fonctionner que partiellement.
J'ai bien obtenu le bon nombre de lignes.
La colonne démarré/terminé est irrelevante une fois que j'ai récupéré les heures.
La plupart des heures ne colles pas quand je compare à la feuil1.
Sur une lignes les codes ne devraient pas avoir de doublons.
J'ai aussi vu une erreur d'orthographe dans le code VBA (rafraischissement vs. rafraichissement), puis écrit feuille vs. feuil, et linges vs. lignes. J'imagine que ça a un impacte sur la macro, mais j'y connais rien en VBA...

Commenter la réponse de Olivia
via55 9336 Messages postés mercredi 16 janvier 2013Date d'inscription 21 juin 2018 Dernière intervention - 7 sept. 2017 à 22:35
0
Merci
Re

Les commentaires en vert n'ont aucun impact sur la macro, et comme je les ai écrit vite il peut y avoir des fautes oui !
Pour les heures qui en collent pas je vais regarder de plus près
Que veux tu dire par la colonne est irrelevante ?
Commenter la réponse de via55
via55 9336 Messages postés mercredi 16 janvier 2013Date d'inscription 21 juin 2018 Dernière intervention - 7 sept. 2017 à 22:52
0
Merci
En ce qui concerne les heures un petit oubli dans une ligne de la macro , rajoute ce qui manque (en gras ici) :
' compte nombre de ligens avec même valeur en A
a = Application.WorksheetFunction.CountIf(Sheets("Feuil1").Range("A:A"), Sheets("Feuil1").Range("A" & n))

Tout devrait fonctionner normalement après ce correctif

Commenter la réponse de via55
0
Merci
Merci beaucoup pour ton aide!
Ça marche!
Commenter la réponse de Olivia
0
Merci
Le sujet est résolu mais je ne vois pas le bouton pour le signaler. Merci!
Commenter la réponse de Olivia
via55 9336 Messages postés mercredi 16 janvier 2013Date d'inscription 21 juin 2018 Dernière intervention - 14 sept. 2017 à 13:59
0
Merci
Tant mieux !
Clique sur Signaler en haut à droite au début du 1er message

Commenter la réponse de via55
0
Merci
Via 55, en fait, ton code marche très bien, sauf un petit truc.
Je récupère les "codes" sur une lignes avec un /.
Et dans cette ligne de codes je ne dois pas avoir de doublons.

Par exemple au lieu d'obtenir
BFGA004/BFGA004/BELB001/BELB001/
je dois obtenir
BFGA004/BELB001

Est-ce que tu voudras jeter encore un coup d’œil dessus s'il te plaît?
Commenter la réponse de Olivia
via55 9336 Messages postés mercredi 16 janvier 2013Date d'inscription 21 juin 2018 Dernière intervention - 15 sept. 2017 à 16:26
0
Merci
Bonjour Olivia

Voilà (à vérifier qu'aucun code n'est oublié) ;
https://mon-partage.fr/f/uAv3Vs3T/

Cdmnt
Via
Commenter la réponse de via55