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

Macros et VBA Excel Discussion :

RECHERCHEV Format NB vs. TEXT [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut RECHERCHEV Format NB vs. TEXT
    Bonjour,
    J'utilise régulièrement cette fonction et suis déjà sensibilisé sur le fait que si les formats sont différents entre la valeur cherchée et la 1ère colonne de la matrice, c'est la cata. !

    l'aide est d'ailleurs explicite

    Alors est ce qu'il y a une solution dynamique pour faire matcher

    202435 (texte) avec 202435 (nombre)

    bien évidemment le format qu'il faudrait convertir c'est celui de la matrice !
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Si la valeur que tu cherches est numérique et celles de la plage est textuelle, tu peux essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(TEXTE(C1;"0");A1:B5;2;FAUX)
    Pour l'inverse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(CNUM(C8);A8:B12;2;FAUX)

  3. #3
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Bonjour,

    Je suis bien d'accord avec toi sauf que je ne connais pas le format dans la matrice, en général je traite des références qui dans une base de donnée seraient en texte (varchar ), mais Excel n'aimant pas les nombres stockés au format texte, a tendance à les intégrer toujours en NOMBRE.


    Voici un exemple de données : ID Client: 23570 150U0 52U2 CF2L5 998S0 280S0 91660 25310


    J'ai bien une macro qui peut me convertir en texte un range, mais je préférerai si possible ne pas toucher à la matrice.

    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
    Sub F_texte(zone As Range)
        Application.ScreenUpdating = False
        Calcul = Application.Calculation
        Application.Calculation = xlCalculationManual
        Dim c As Range
        If zone.Cells.Count > 1 Then
            Set MaSelection = zone.SpecialCells(xlCellTypeVisible)
        Else
            Set MaSelection = zone
        End If
        For Each c In MaSelection
            If Not c.HasFormula Then
                c.NumberFormat = "@"
                c.Value = c.FormulaR1C1
            End If
        Next c
        Application.Calculation = Calcul
    End Sub

    en gros un truc qui ferait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(TEXTE(C1;"0");(TEXTE(A1:B5;"0");2;FAUX)
    ou comme le comportement de Nb.SI() qui compte aussi bien des nombres que du Texte en ignorant la casse.
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Tu pourrais y aller avec un Si(Esterreur(RechercheV en texte); RechercheV en nombre; RechercheV en texte)
    C'est plus lourd, mais ça devrait passer dans tous les cas, je pense...

  5. #5
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    C'est pas con du tout ! MERCI
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  6. #6
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    J'ai testé et cela fonctionne bien, sans vraiment alourdir le temps de calcul

    sur 2 listes de 15970 et 16104 (matrice)



    NB.si EQUIV SI EQUIV TEXT NUM
    =NB.SI(parc!A:A;A360)>0 =EQUIV(A360;parc!A:A;0) =SIERREUR(EQUIV(TEXTE($A360;0);parc!$A:$A;0);EQUIV(CNUM($A360);parc!$A:$A;0))
    56,91 " 39,57 " 40,68 "
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

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

Discussions similaires

  1. Réponses: 31
    Dernier message: 02/11/2010, 20h07
  2. [VB6] Format de fichier texte Unicode
    Par Sytchev3 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 07/04/2006, 09h10
  3. Repérer des chaines de caractères formatée dans du texte
    Par jeremiegrenoble dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 01/02/2006, 13h06
  4. format de fichier texte
    Par locutus33 dans le forum Access
    Réponses: 3
    Dernier message: 18/10/2005, 11h32
  5. dessin et format des zones texte
    Par sorinexp dans le forum Access
    Réponses: 15
    Dernier message: 31/08/2005, 11h26

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