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

C# Discussion :

comment comparer des strings représentant les colonnes Excel ?


Sujet :

C#

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    415
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 415
    Points : 138
    Points
    138
    Par défaut comment comparer des strings représentant les colonnes Excel ?
    Bonjour,
    Je cherche à savoir si une colonne Excel strA est située avant celle de strB.
    J'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (string.Compare("Z1", "AA1", true) > 0)
    et jusqu'à "Z1" tout fonctionne bien par contre cela donne un résultat faux au moment où je veux comparer "Z1" à "AA1".
    Auriez-vous une solution simple et efficace tout le temps pour faire ce petit test s'il vous plaît ?
    D'avance merci,
    Julien

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    google : c# base 26
    et retire le nombre

  3. #3
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    415
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 415
    Points : 138
    Points
    138
    Par défaut
    En effet, merci beaucoup!
    Ca m'a ammené à résoudre mon problème de la manière suivante :
    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
    //Hexavigesimal (Excel Column Name to Number) - Bijective
            public static int fromBase26(this string colName)
            {
                colName = colName.ToUpper();
                int decimalValue = 0;
                for (int i = 0; i < colName.Length; i++)
                {
                    decimalValue *= 26;
                    decimalValue += (colName[i] - 64);
                }
                return decimalValue;
            }
     
    et remplacer : if (string.Compare(cell.CellReference.Value, address, true) > 0)
    par : if (Regex.Replace(cell.CellReference.Value, @"[\d-]", string.Empty).fromBase26() > Regex.Replace(address, @"[\d-]", string.Empty).fromBase26())

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/07/2014, 12h12
  2. changer la valeur des données dans une colonne excel et les trier
    Par thewind1 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/01/2011, 22h35
  3. comment comparer des lignes ou des colonnes
    Par juldace dans le forum SQL
    Réponses: 3
    Dernier message: 29/05/2007, 12h43
  4. Réponses: 3
    Dernier message: 04/04/2007, 14h18
  5. [VB6][impression]Comment faire des effets sur les polices ?
    Par le.dod dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 08/11/2002, 10h31

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