1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2011
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : avril 2011
    Messages : 85
    Points : 45
    Points
    45

    Par défaut SCAN rechercher les caractéres d'une cellule, dans une autre cellule dans le désordre

    Bonjour à tous !!

    Je viens chercher de l'aide sur une fonction, macro qui permettrait de rechercher dans une cellule les caractéres que l'on trouve dans une autre.
    Afin d'être plus clair rien ne vaut un exemple :-)

    Rechercher les infos de la colonnes COL_2

    COL_1 ;COL_2 ;CARACTERES_PRESENTS ;DIFFERENCE
    AZERTY ;TYTREZA ; oui ;0
    AZERTY ;TYTREZ ;oui ;1
    AZORTU ;AZERTY ;non ;2
    122 ;TYT122 ;oui ; 3

    En espérant qu'une solution existe :-D.

    Merci !!!!

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    février 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2005
    Messages : 117
    Points : 105
    Points
    105

    Par défaut

    Bonjour,

    Il n'est pas nécessaire de passer par une macro pour faire ça.
    De plus, l'énoncé du problème ne dit pas précisément quel doit être le nombre de différences affiché : Nombre de caractères de COL1 absents dans COL2, ou bien Nombre de caractères de COL2 absents dans COL1, ou encore (plus probablement ?) le max de ces deux différences : c'est la solution proposée ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    /* Table de test */
    data test;input col1 $ col2 $; cards;
    AZERTY TYTREZA 
    AZERTY TYTREZ 
    AZORTU AZERTY 
    122 TYT122 
    ;
    run;
    /* Calcul des variables de contrôle */
    data test(drop=indice caractere diff1 diff2);set test;	
    	diff1=0;diff2=0;
    	do indice = 1 to length(col1);
    		caractere = substr(col1,indice,1);
    		if index(col2,compress(caractere)) = 0 then diff1+1;
    	end;
    	do indice = 1 to length(col2);
    		caractere = substr(col2,indice,1);
    		if index(col1,compress(caractere)) = 0 then diff2+1;
    	end;
    	diff=max(diff1,diff2);
    run;
    proc print;run;
    Cordialement

Discussions similaires

  1. [XL-2010] Copier les cellules d'une colonne dont la valeur à changé dans une autre colonne
    Par caeruleum dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 23/09/2012, 23h01
  2. Réponses: 6
    Dernier message: 10/07/2012, 17h02
  3. Réponses: 5
    Dernier message: 06/10/2011, 13h56
  4. [XL-2007] Entrée la valeur d'une cellule d'un autre classeur dans une variable
    Par Coco_O dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/05/2011, 17h25
  5. Réponses: 3
    Dernier message: 01/06/2009, 19h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo