IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

traiter une chaine de caratcères [XL-2010]


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    thermicien
    Inscrit en
    Mai 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : thermicien

    Informations forums :
    Inscription : Mai 2016
    Messages : 6
    Points : 6
    Points
    6
    Par défaut traiter une chaine de caratcères
    Bonjour à tous,
    Voici mon objectif : comparer le total du tableau1 avec le solde du tableau2, pour chaque ligne. Je précise que la correspondance entre les deux tableaux se fait à l'aide de la concaténation des colonnes "groupe/critère/sous-critère" qui constituerait une sorte de code d'identification de chaque ligne.
    Concrètement je pensais utiliser la méthode suivante :
    - concaténer les données des colonnes "groupe" "critère" et "sous-critère" pour chacun des deux tableaux de manière à obtenir deux codes identiques.
    - utiliser une recherchev() pour renvoyer le résultat en colonne F du tableau1

    Mes problèmes sont les suivants :
    - le tableau croisé dynamique ne contient pas les données "groupe" "critère" et sous-critères" à chaque ligne ce qui ne permet pas d'utiliser la concaténation
    - la mise en forme du tableau2 nécessite d'utiliser une fonction du type =gauche() pour ne récupérer que les chiffres en début de chaine mais dans ce cas je dois me débarasser des zéro présent en début de chaine.

    Merci par avance à celles et ceux qui voudront bien me faire partager leur expérience ou mieux encore me proposer une approche simplifiée du problème.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274

  3. #3
    Expert confirmé Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Points : 4 299
    Points
    4 299
    Par défaut
    Salut,

    pour la concaténation, il faut en plus utiliser la fonction CNUM (convertion d'une chaine de texte en numérique :
    ceci car dans le TCD tu as 460 et dans le tableau2, 0640 blabla.

    De plus tu as des sous catégories vides qui sauf erreur de ma part sont des 0 dans le TCD.
    C'est pour cela que la concaténation est faite avec cette formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(F6="";D6&"-"&CNUM(GAUCHE(E6;4))&"-"&0;D6&"-"&CNUM(GAUCHE(E6;4))&"-"&CNUM(GAUCHE(F6;4)))
    La colonne de concaténation doit impérativement être placée en première colonne du tableau2 'pour la RECHERCHEV
    Dans le TCD, il existe une option (dans l'onglet CREATION) qui permet de faire répéter les libellés sur chaque ligne.

    Au final, çà ressemble au fichier joint. Il reste de #NA, mais je te laisse voir tu connais ton tableau ...
    Jérôme

    " Je pense donc je suis. Tu es donc j'apprends ". (GCM)

    Si ce message vous à aidé, merci de cliquer sur . Si ce message est résolu, cliquez sur .

  4. #4
    Futur Membre du Club
    Homme Profil pro
    thermicien
    Inscrit en
    Mai 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : thermicien

    Informations forums :
    Inscription : Mai 2016
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Merci jérôme c'est tout à fait ce qu'il me fallait

    Bonne continuation

  5. #5
    Membre expérimenté
    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 667
    Points : 1 419
    Points
    1 419
    Par défaut
    Bonjour,

    A supposer que tu ais bien configuré le TCD pour répéter les étiquettes, tu peux placer cette formule en tableau2!K6:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ARRONDI(INDEX(tableau1!$E$6:$E$682; EQUIV(C6 & "@" & CNUM(GAUCHE(D6; 4)) & "@" & SI(E6=""; 0; CNUM(GAUCHE(E6; 4))); tableau1!$B$6:$B$682 & "@" & tableau1!$C$6:$C$682 & "@" & tableau1!$D$6:$D$682; 0)); 2)
    A valider par Ctrl+Maj+Entrée car c'est une formule matricielle et à étirer sur toutes les lignes.

    NB: J'ai arrondi à 2 chiffres après la virgule pour que ce soit cohérent entre les deux sources.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. la requete retourne une chaine de caratere à traiter
    Par olivier75000 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 31/05/2013, 16h42
  2. traiter une chaine de caractères qui contient '/'
    Par haithem20080 dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 16/03/2010, 11h01
  3. Traiter une chaine texte
    Par johweb dans le forum Débuter
    Réponses: 2
    Dernier message: 15/07/2008, 11h52
  4. [Débutant] Traiter une chaîne de caractères
    Par jacques64 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/08/2007, 12h08
  5. [TP]lire une ligne de l'ecran et la stocker dans une chaine
    Par Bleuarff dans le forum Turbo Pascal
    Réponses: 26
    Dernier message: 02/07/2002, 10h08

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