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

Résolu/Fermé
Olivia - 5 sept. 2017 à 16:15
 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!



11 réponses

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.
1
via55 Messages postés 14032 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 janvier 2023 2 548
5 sept. 2017 à 17:29
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
0
via55 Messages postés 14032 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 janvier 2023 2 548
7 sept. 2017 à 18:37
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
0
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...

0

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

Posez votre question
via55 Messages postés 14032 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 janvier 2023 2 548
7 sept. 2017 à 22:35
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 ?
0
via55 Messages postés 14032 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 janvier 2023 2 548
7 sept. 2017 à 22:52
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

0
Merci beaucoup pour ton aide!
Ça marche!
0
Le sujet est résolu mais je ne vois pas le bouton pour le signaler. Merci!
0
via55 Messages postés 14032 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 janvier 2023 2 548
14 sept. 2017 à 13:59
Tant mieux !
Clique sur Signaler en haut à droite au début du 1er message

0
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?
0
via55 Messages postés 14032 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 janvier 2023 2 548
15 sept. 2017 à 16:26
Bonjour Olivia

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

Cdmnt
Via
0
Mega top! Milles mercis!
0