Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Match de données

  • Initiateur de la discussion Initiateur de la discussion Claude5
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Claude5

XLDnaute Occasionnel
Bonjour à tous,

en PJ, dans la partie gauche de mon fichier, ce sont les données que je dois matcher entre elles. Je clique sur Go et j'obtiens un résultat, partie droite. Seulement pour la REG CSDUG, il a été matché 2 fois avec le même horaire 08:04 alors que j'ai une ligne 15:54 non matchée. Je ne sais pas écrire dans la macro pour éviter un doublon.

J'ai encadré les cas rencontrés. Il y a aussi le MCICO.

Entre nous, il y a de moins en moins de personnes sur le forum!

Merci de votre aide. Claude
 

Pièces jointes

Re : Match de données

Bonjour.
Un peu long à comprendre à partir d'un modèle présenté comme entaché d'erreur et non de ce qui est souhaité.
Récapitulons:
Pour chaque groupe d'élément de mêmes REG, Date et A/D (Origin ICAO n'entre pas en ligne de compte, si j'en crois votre code ?), vous voulez à gauche les données de la dernière ligne rencontrée où il apparait avec "Programme" en RMK, et à droite les données de la dernière ligne rencontrée où il apparait avec "Realise" en RMK ? Dans ce cas il y a des REG "CSDUG" en trop, en effet, puisque le CSDUG 21/052014 … D Programme y est 2 fois, à 2 heurs différentes, l'un avec Origine ICAO "LSGG", l'autre "LSZH".
Ou bien dans le cas ou il y aurait dans un même groupe plus de deux éléments et/ou plusieurs de mêmes RMK, il faudrait les apparier dans l'ordre ou ils viennent respectivement ?

En attendant je le joins comme j'ai compris, de toute façon le moteur de service restera le même.
Si on suppose que la date du "Realise" peut différer de celle du "Programme", que la colonne 2 dans votre concaténation d'origine était donc une erreur et qu'il fallait la 4 à la place, on trouve beaucoup moins de correspondances. Les Origin ICAO diffèrent en effet assez souvent entre les "Programme" et les "Realise"


P.S. Une variante de la procédure reproduisant tous les détails dans l'ordre des dates et heures, à gauche aussi bien qu'à droite :
VB:
Sub TriDonnées()
Dim REG As SsGroup, AouD As SsGroup, RMK As SsGroup, Détail
Dim Rés(), LsDéb&, LsFin&, Ls&, dC&, C&
ReDim Rés(1 To 5000, 1 To 12)
For Each REG In GroupOrg(ColUti([A2:F2]), 1, 5, 6, "… et encore classé sur : --->", 2, 3)
   For Each AouD In REG.Contenu
      For Each RMK In AouD.Contenu
         Ls = LsDéb
         If RMK.Id = "Realise" Then dC = 6 Else dC = 0
         For Each Détail In RMK.Contenu
            Ls = Ls + 1: If Ls > LsFin Then LsFin = Ls: Rés(Ls, 7 - dC) = "Pas de Match"
            For C = 1 To 6: Rés(Ls, C + dC) = Détail(C): Next C, Détail, RMK
      LsDéb = LsFin: Next AouD, REG
[H2:S5001].ClearContents
[H2].Resize(LsFin, 12).Value2 = Rés
Application.ScreenUpdating = True
End Sub
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
990
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
906
M
Réponses
2
Affichages
2 K
mmaatthh
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…