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 :

Pb pour comparer des chaines dans une fonction


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Points : 247
    Points
    247
    Par défaut Pb pour comparer des chaines dans une fonction
    Bonjour,
    Je suis sur un probleme bizarrre, je voulais faire marcher un recherchev sur un tableau entre deux feuilles, mais ca marche pas.
    Du coup je décide de coder la fonction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Function RV(TA As String, Matrice As Range, colonne As Integer) As String
    Application.Volatile True
    Dim TA1 As String
    TA1 = "Alcatel,  " & TA
    For i = Matrice.Row To Matrice.Row + Matrice.Rows.Count
        If TA1 = Matrice(i, 1).Text Then
            RV = Matrice(i, colonne).Text
            Exit Function
        End If
    Next i
    RV = 0
    End Function
    Bien que je vois les deux chaines identiques se comparer dans le debug, je n'obtients pas le résultat escompté. Est ce que le fait de prendre ma chaine Matrice dans une autre feuille a une influence ?
    Je vous donne la chaine à comparer. "Alcatel, 47 + 1 ports 10/100 non PoE"
    Merci d'avance de vos idées, parce que je seche.

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Bonjour,

    Dans la chaine
    tu as 2 espaces, ce qui ne correspond pas à la chaine à comparer.
    "Alcatel, 47 + 1 ports 10/100 non PoE"
    Cordialement.

  3. #3
    Membre actif
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Points : 247
    Points
    247
    Par défaut
    Bien vu mais j'ai du loupé le copié collé.
    Non j'avais vraiment bien les mêmes chaines, de même taille, et j'ai pu les comparer l'une en dessous de l'autre en mode debug.
    Le fait qu'une soit en Variant/String et l'autre en String a peut être une influence.
    Lors de ma dernière tentative en relançant Excel je n'avais plus de données dans le Range : Matrice, alors qu'elles avaient bien été séléctionné via la souris.
    N.B Je fais le lancement lorsque je valide la fonction que j'ai mis dans une cellule.
    Merci de vos idées.

Discussions similaires

  1. fonction pour sélectionner des valeurs dans une matrice
    Par EaudeRoche dans le forum MATLAB
    Réponses: 4
    Dernier message: 09/03/2012, 11h45
  2. Fonction pour lire des fichiers dans une archive MPQ
    Par MegaBigBoss dans le forum Débuter
    Réponses: 0
    Dernier message: 28/01/2012, 22h02
  3. Réponses: 4
    Dernier message: 14/11/2008, 21h00
  4. [AS2] déclarer des variables dans une fonction
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 12
    Dernier message: 02/08/2005, 12h50
  5. fonction récupérant des valeurs dans une fonction popup...
    Par petitsims dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/01/2005, 14h51

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