Correspondance valeur colonne excel
Résolu
lolotiboutik
-
lolotiboutik Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
lolotiboutik Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
J'utilise microsoft excel et je travaille sur un fichier unique avec 36000 valeurs sous forme de code dans la première colonne. Après avoir extrait 100 fichiers excel issus de ce fichier initial (par méthode d'échantillonnage), j'ai des valeurs de classement pour chaque code de départ mais sur un tiers des codes soit 12000. Mon souci je voudrais avoir une méthode automatique pour faire correspondre les codes issus de chaque fichier d'échantillonnage avec les codes totaux de départ. A la main ça me prendrait énormément de temps sachant j'aurai 100 fois à faire correspondre 12000 codes parmi les 36000 du fichier de base. J'espère j'ai été clair lol Merci d'avance pour toute éventuelle début de solution.
J'utilise microsoft excel et je travaille sur un fichier unique avec 36000 valeurs sous forme de code dans la première colonne. Après avoir extrait 100 fichiers excel issus de ce fichier initial (par méthode d'échantillonnage), j'ai des valeurs de classement pour chaque code de départ mais sur un tiers des codes soit 12000. Mon souci je voudrais avoir une méthode automatique pour faire correspondre les codes issus de chaque fichier d'échantillonnage avec les codes totaux de départ. A la main ça me prendrait énormément de temps sachant j'aurai 100 fois à faire correspondre 12000 codes parmi les 36000 du fichier de base. J'espère j'ai été clair lol Merci d'avance pour toute éventuelle début de solution.
A voir également:
- Correspondance valeur colonne excel
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Formule somme excel colonne - Guide
- Liste déroulante excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
11 réponses
je précise que j'ai collé sur le fichier initial à coté des 36000 codes les colonnes 'codes' et 'valeur classement' de chaque fichier soit 200 colonnes.
Si tu as été clair ?
* tu as 36000 données (ou codes) dans une colonne
* tu as des valeurs de classement, sur des bases qu'on ignore, pour 12000 des données, mais on ne sait pas lesquelles
* tu as 100 fichiers, mais on ne sait pas quelles données et quelles valeurs de classement y figurent, ni quelle est leur structure
* tu veux faire correspondre des éléments des 100 fichiers aux 24000 données non encore renseignées, mais on ne sait pas sur quels critères ou en appliquant quelles règles
* il est aussi question de "codes totaux de départ", dont on ne sait pas s'ils font partie des 36000 ou s'ils s'y rajoutent
....................
* tu as 36000 données (ou codes) dans une colonne
* tu as des valeurs de classement, sur des bases qu'on ignore, pour 12000 des données, mais on ne sait pas lesquelles
* tu as 100 fichiers, mais on ne sait pas quelles données et quelles valeurs de classement y figurent, ni quelle est leur structure
* tu veux faire correspondre des éléments des 100 fichiers aux 24000 données non encore renseignées, mais on ne sait pas sur quels critères ou en appliquant quelles règles
* il est aussi question de "codes totaux de départ", dont on ne sait pas s'ils font partie des 36000 ou s'ils s'y rajoutent
....................
ok désolé je vais apporter plus de précision dans ce cas.
Les 36000 codes correspondent à des pixels crées suite a une analyse par maille. Je cherche à classifier ces pixels selon l'importance de l'urbanisation dans la région concernée. Pour cela j'ai réalisé un échantillonnage (100 fois) en prenant en compte une quarantaine de variable (situation sociale, salaire, etc) pour avoir une classification moyenne de chaque pixel. La précision c'est que l'échantillonnage n'est réalisé que sur 1 tiers des 36000 pixels et ce pour les 100 fichiers de sorties.
C'est pour cela j'ai a faire correspondre les 12000 pixels classifiés avec la valeur correspondante a 100 reprises.
J'espere que c'est plus précis cette fois ;-)
Les 36000 codes correspondent à des pixels crées suite a une analyse par maille. Je cherche à classifier ces pixels selon l'importance de l'urbanisation dans la région concernée. Pour cela j'ai réalisé un échantillonnage (100 fois) en prenant en compte une quarantaine de variable (situation sociale, salaire, etc) pour avoir une classification moyenne de chaque pixel. La précision c'est que l'échantillonnage n'est réalisé que sur 1 tiers des 36000 pixels et ce pour les 100 fichiers de sorties.
C'est pour cela j'ai a faire correspondre les 12000 pixels classifiés avec la valeur correspondante a 100 reprises.
J'espere que c'est plus précis cette fois ;-)
Bonjour,
Si tu déposais un fichier exemple avec des explications sur cijoint.fr (coller ici le lien fourni), on ne sait toujours pas ce que tu veux...
eric
Si tu déposais un fichier exemple avec des explications sur cijoint.fr (coller ici le lien fourni), on ne sait toujours pas ce que tu veux...
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
OK voici un exemple du fichier avec les résultats d'un seul fichier de sortie.
http://www.cijoint.fr/cjlink.php?file=cj201003/cijq3SPkEx.xls
http://www.cijoint.fr/cjlink.php?file=cj201003/cijq3SPkEx.xls
si tu as regardé le fichier que j'ai envoyé je veux juste mettre cote a cote les codes pixels identiques des colonnes A et C avec la valeur de classement associée. Il y aura des pixels qui seront pas associés par conséquent (36000 pour la colonne A et 12000 pour la colonne C)
Quelles sont les autres explications que tu attend?
Quelles sont les autres explications que tu attend?
OK.
Je ne me sens pas du tout inspiré par ce problème : je me retire donc de la discussion. Bon courage à vous ...
Je ne me sens pas du tout inspiré par ce problème : je me retire donc de la discussion. Bon courage à vous ...
Le traitement est un peu long, attendre...
eric
Sub aligne() Dim lig As Long Application.ScreenUpdating = False For lig = 2 To [A65536].End(xlUp).Row If Trim(Cells(lig, 1)) <> Trim(Cells(lig, 3)) Or Cells(lig, 2) <> Cells(lig, 4) Then Cells(lig, 3).Resize(1, 3).Insert Shift:=xlDown End If Next lig Application.ScreenUpdating = True End Sub
eric
Bonjour Eric,
J'ai essayé ta manip elle fonctionne parfaitement à un détail qu'elle s'arrete a la ligne 14106 la correspondance. Il doit juste avoir un ajustement a faire dans la VBA. Je te donne le lien du fichier avec la VBA.
http://www.cijoint.fr/cjlink.php?file=cj201003/cij0qJieSd.xls
Merci
Laurent
J'ai essayé ta manip elle fonctionne parfaitement à un détail qu'elle s'arrete a la ligne 14106 la correspondance. Il doit juste avoir un ajustement a faire dans la VBA. Je te donne le lien du fichier avec la VBA.
http://www.cijoint.fr/cjlink.php?file=cj201003/cij0qJieSd.xls
Merci
Laurent
Bonjour,
J'ai relancé à partir de cette ligne et aucune anomalie. Tu as peut-être fait une action qui a réussi a arreter la macro (?)
J'ai ajouté un test de façon à pouvoir relancer la macro sans toucher aux lignes déjà traitées si ça se reproduit.
Une référence en C (et l'année) doit toujours être sur une ligne <= à la référence en A.
Une référence en C doit toujours être existante en A.
Si ces 2 conditions sont respectées aucune raison que ça ne tourne pas
J'ai ajouté aussi un compteur dans la barre d'état (en bas à gauche) pour voir évoluer le traitement et patienter.
eric
PS : n'oublie pas de mettre en résolu si ça l'est. Merci
J'ai relancé à partir de cette ligne et aucune anomalie. Tu as peut-être fait une action qui a réussi a arreter la macro (?)
J'ai ajouté un test de façon à pouvoir relancer la macro sans toucher aux lignes déjà traitées si ça se reproduit.
Une référence en C (et l'année) doit toujours être sur une ligne <= à la référence en A.
Une référence en C doit toujours être existante en A.
Si ces 2 conditions sont respectées aucune raison que ça ne tourne pas
J'ai ajouté aussi un compteur dans la barre d'état (en bas à gauche) pour voir évoluer le traitement et patienter.
Sub aligne() Dim lig As Long, derlig As Long Application.ScreenUpdating = False barreEtatsav = Application.DisplayStatusBar Application.DisplayStatusBar = True derlig = [A65536].End(xlUp).Row For lig = 2 To derlig If Trim(Cells(lig, 1)) <> Trim(Cells(lig, 3)) Or Cells(lig, 2) <> Cells(lig, 4) Then If Cells(lig, 3) & Cells(lig, 4) <> "" Then Cells(lig, 3).Resize(1, 3).Insert Shift:=xlDown End If End If Application.StatusBar = "Ligne en cours : " & lig & "/" & derlig Next lig Application.StatusBar = False Application.DisplayStatusBar = barreEtatsav Application.ScreenUpdating = True End Sub
eric
PS : n'oublie pas de mettre en résolu si ça l'est. Merci