Je boucle sur la recherche d'une valeur dans une variable tableau
(macro ex suivante). Le r=E9sultat est toujours "Chaine non trouv=E9e",
bien que la valeur existe. Je pense que l'erreur est dans le match.
Merci pour votre aide
Steph D.
'--------------------------------------------------------------------------=
--------------
Sub test()
Dim chaine As String
Dim MonTab As Variant
chaine =3D Range("A11").Value
MonTab =3D Range("A1:A50")
If Not (IsError(Application.Match(chaine, MonTab, 0))) Then
Debug.Print Application.Match(chaine, MonTab, 0)
Else
Debug.Print "Chaine non trouv=E9e"
End If
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JB
Bonjour,
-Vérifier qu'il n'y a pas d'espaces à la fin, de double espace? -Vérifier avec la fonction Type() si A11 et A1:A50 ont bien le même type.
JB
Bonjour,
Je boucle sur la recherche d'une valeur dans une variable tableau (macro ex suivante). Le résultat est toujours "Chaine non trouvée", bien que la valeur existe. Je pense que l'erreur est dans le match.
Merci pour votre aide Steph D.
'------------------------------------------------------------------------ ---------------- Sub test() Dim chaine As String Dim MonTab As Variant chaine = Range("A11").Value MonTab = Range("A1:A50") If Not (IsError(Application.Match(chaine, MonTab, 0))) Then Debug.Print Application.Match(chaine, MonTab, 0) Else Debug.Print "Chaine non trouvée" End If End Sub
Bonjour,
-Vérifier qu'il n'y a pas d'espaces à la fin, de double espace?
-Vérifier avec la fonction Type() si A11 et A1:A50 ont bien le même
type.
JB
Bonjour,
Je boucle sur la recherche d'une valeur dans une variable tableau
(macro ex suivante). Le résultat est toujours "Chaine non trouvée",
bien que la valeur existe. Je pense que l'erreur est dans le match.
Merci pour votre aide
Steph D.
'------------------------------------------------------------------------ ----------------
Sub test()
Dim chaine As String
Dim MonTab As Variant
chaine = Range("A11").Value
MonTab = Range("A1:A50")
If Not (IsError(Application.Match(chaine, MonTab, 0))) Then
Debug.Print Application.Match(chaine, MonTab, 0)
Else
Debug.Print "Chaine non trouvée"
End If
End Sub
-Vérifier qu'il n'y a pas d'espaces à la fin, de double espace? -Vérifier avec la fonction Type() si A11 et A1:A50 ont bien le même type.
JB
Bonjour,
Je boucle sur la recherche d'une valeur dans une variable tableau (macro ex suivante). Le résultat est toujours "Chaine non trouvée", bien que la valeur existe. Je pense que l'erreur est dans le match.
Merci pour votre aide Steph D.
'------------------------------------------------------------------------ ---------------- Sub test() Dim chaine As String Dim MonTab As Variant chaine = Range("A11").Value MonTab = Range("A1:A50") If Not (IsError(Application.Match(chaine, MonTab, 0))) Then Debug.Print Application.Match(chaine, MonTab, 0) Else Debug.Print "Chaine non trouvée" End If End Sub
JB
Ce programme fonctionne sur mon poste:http://cjoint.com/?bxoviQYjp0
JB
Bonjour,
Je boucle sur la recherche d'une valeur dans une variable tableau (macro ex suivante). Le résultat est toujours "Chaine non trouvée", bien que la valeur existe. Je pense que l'erreur est dans le match.
Merci pour votre aide Steph D.
'------------------------------------------------------------------------ ---------------- Sub test() Dim chaine As String Dim MonTab As Variant chaine = Range("A11").Value MonTab = Range("A1:A50") If Not (IsError(Application.Match(chaine, MonTab, 0))) Then Debug.Print Application.Match(chaine, MonTab, 0) Else Debug.Print "Chaine non trouvée" End If End Sub
Ce programme fonctionne sur mon poste:http://cjoint.com/?bxoviQYjp0
JB
Bonjour,
Je boucle sur la recherche d'une valeur dans une variable tableau
(macro ex suivante). Le résultat est toujours "Chaine non trouvée",
bien que la valeur existe. Je pense que l'erreur est dans le match.
Merci pour votre aide
Steph D.
'------------------------------------------------------------------------ ----------------
Sub test()
Dim chaine As String
Dim MonTab As Variant
chaine = Range("A11").Value
MonTab = Range("A1:A50")
If Not (IsError(Application.Match(chaine, MonTab, 0))) Then
Debug.Print Application.Match(chaine, MonTab, 0)
Else
Debug.Print "Chaine non trouvée"
End If
End Sub
Ce programme fonctionne sur mon poste:http://cjoint.com/?bxoviQYjp0
JB
Bonjour,
Je boucle sur la recherche d'une valeur dans une variable tableau (macro ex suivante). Le résultat est toujours "Chaine non trouvée", bien que la valeur existe. Je pense que l'erreur est dans le match.
Merci pour votre aide Steph D.
'------------------------------------------------------------------------ ---------------- Sub test() Dim chaine As String Dim MonTab As Variant chaine = Range("A11").Value MonTab = Range("A1:A50") If Not (IsError(Application.Match(chaine, MonTab, 0))) Then Debug.Print Application.Match(chaine, MonTab, 0) Else Debug.Print "Chaine non trouvée" End If End Sub
JB
Si A1:A50 contient des nombres, ce pgm ne fonctionne pas (la variable chaine déclaré en string)
JB
Bonjour,
Je boucle sur la recherche d'une valeur dans une variable tableau (macro ex suivante). Le résultat est toujours "Chaine non trouvée", bien que la valeur existe. Je pense que l'erreur est dans le match.
Merci pour votre aide Steph D.
'------------------------------------------------------------------------ ---------------- Sub test() Dim chaine As String Dim MonTab As Variant chaine = Range("A11").Value MonTab = Range("A1:A50") If Not (IsError(Application.Match(chaine, MonTab, 0))) Then Debug.Print Application.Match(chaine, MonTab, 0) Else Debug.Print "Chaine non trouvée" End If End Sub
Si A1:A50 contient des nombres, ce pgm ne fonctionne pas (la variable
chaine déclaré en string)
JB
Bonjour,
Je boucle sur la recherche d'une valeur dans une variable tableau
(macro ex suivante). Le résultat est toujours "Chaine non trouvée",
bien que la valeur existe. Je pense que l'erreur est dans le match.
Merci pour votre aide
Steph D.
'------------------------------------------------------------------------ ----------------
Sub test()
Dim chaine As String
Dim MonTab As Variant
chaine = Range("A11").Value
MonTab = Range("A1:A50")
If Not (IsError(Application.Match(chaine, MonTab, 0))) Then
Debug.Print Application.Match(chaine, MonTab, 0)
Else
Debug.Print "Chaine non trouvée"
End If
End Sub
Si A1:A50 contient des nombres, ce pgm ne fonctionne pas (la variable chaine déclaré en string)
JB
Bonjour,
Je boucle sur la recherche d'une valeur dans une variable tableau (macro ex suivante). Le résultat est toujours "Chaine non trouvée", bien que la valeur existe. Je pense que l'erreur est dans le match.
Merci pour votre aide Steph D.
'------------------------------------------------------------------------ ---------------- Sub test() Dim chaine As String Dim MonTab As Variant chaine = Range("A11").Value MonTab = Range("A1:A50") If Not (IsError(Application.Match(chaine, MonTab, 0))) Then Debug.Print Application.Match(chaine, MonTab, 0) Else Debug.Print "Chaine non trouvée" End If End Sub
DesseJ
Merci JB pour ta précieuse aide. Bien joué, le type détecté pourla valeur cherchée était le 16. Celle-ci contient des espaces en fin de ligne et des sauts de ligne, la voici :
IMPORTANT : CONTRAINTES LIEES A L'UTILISATION NUMERIQUE
Un Bus S0 direct sur le réseau NUMERIS ou un Bus S0 Complet avec SDA, si vous êtes équipés d'un standard gérant les Bus S0, doit être présent à moins d'un mètre cinquante de la machine accueillant l'adaptateur RNIS. Si la ligne passe par le standard téléphonique, elle ne doit supporter aucune contrainte d'accès vers l'extérieur.
La fonction Match ne peut peut-être pas effectuer une recherche sur une valeur si longue.
Cordialement, Stéphane DESVOYE
Merci JB pour ta précieuse aide. Bien joué, le type détecté pourla
valeur cherchée était le 16. Celle-ci contient des espaces en fin de
ligne et des sauts de ligne, la voici :
IMPORTANT : CONTRAINTES LIEES A L'UTILISATION NUMERIQUE
Un Bus S0 direct sur le réseau NUMERIS ou un Bus S0 Complet avec SDA,
si vous êtes équipés d'un standard gérant les Bus S0, doit être
présent à moins d'un mètre cinquante de la machine accueillant
l'adaptateur RNIS. Si la ligne passe par le standard téléphonique,
elle ne doit supporter aucune contrainte d'accès vers l'extérieur.
La fonction Match ne peut peut-être pas effectuer une recherche sur
une valeur si longue.
Merci JB pour ta précieuse aide. Bien joué, le type détecté pourla valeur cherchée était le 16. Celle-ci contient des espaces en fin de ligne et des sauts de ligne, la voici :
IMPORTANT : CONTRAINTES LIEES A L'UTILISATION NUMERIQUE
Un Bus S0 direct sur le réseau NUMERIS ou un Bus S0 Complet avec SDA, si vous êtes équipés d'un standard gérant les Bus S0, doit être présent à moins d'un mètre cinquante de la machine accueillant l'adaptateur RNIS. Si la ligne passe par le standard téléphonique, elle ne doit supporter aucune contrainte d'accès vers l'extérieur.
La fonction Match ne peut peut-être pas effectuer une recherche sur une valeur si longue.
Cordialement, Stéphane DESVOYE
DesseJ
Me revoici. La macro fonctionne si le texte recherché ne dépasse pas les 255 caractères. Une idée pour contourner cette "limite" ?
Merci et bonne fin de journée
Me revoici. La macro fonctionne si le texte recherché ne dépasse pas
les 255 caractères.
Une idée pour contourner cette "limite" ?
Me revoici. La macro fonctionne si le texte recherché ne dépasse pas les 255 caractères. Une idée pour contourner cette "limite" ?
Merci et bonne fin de journée
JB
Peut-être ça?
Sub essai() x = [A3] If monEquiv(x, [A2:A5]) > 0 Then MsgBox "ok" Else MsgBox "non" End If End Sub
Function monEquiv(v, champ As Range) Application.Volatile monEquiv = 0 For i = 1 To champ.Count If champ(i) = v Then monEquiv = i Next i End Function
Function monEquiv2(v, champ As Range) Application.Volatile temp = champ ' transfert dans un tableau monEquiv2 = 0 For i = 1 To UBound(temp, 1) If champ(i, 1) = v Then monEquiv2 = i Next i End Function
JB
Me revoici. La macro fonctionne si le texte recherché ne dépasse pas les 255 caractères. Une idée pour contourner cette "limite" ?
Merci et bonne fin de journée
Peut-être ça?
Sub essai()
x = [A3]
If monEquiv(x, [A2:A5]) > 0 Then
MsgBox "ok"
Else
MsgBox "non"
End If
End Sub
Function monEquiv(v, champ As Range)
Application.Volatile
monEquiv = 0
For i = 1 To champ.Count
If champ(i) = v Then monEquiv = i
Next i
End Function
Function monEquiv2(v, champ As Range)
Application.Volatile
temp = champ ' transfert dans un tableau
monEquiv2 = 0
For i = 1 To UBound(temp, 1)
If champ(i, 1) = v Then monEquiv2 = i
Next i
End Function
JB
Me revoici. La macro fonctionne si le texte recherché ne dépasse pas
les 255 caractères.
Une idée pour contourner cette "limite" ?
Sub essai() x = [A3] If monEquiv(x, [A2:A5]) > 0 Then MsgBox "ok" Else MsgBox "non" End If End Sub
Function monEquiv(v, champ As Range) Application.Volatile monEquiv = 0 For i = 1 To champ.Count If champ(i) = v Then monEquiv = i Next i End Function
Function monEquiv2(v, champ As Range) Application.Volatile temp = champ ' transfert dans un tableau monEquiv2 = 0 For i = 1 To UBound(temp, 1) If champ(i, 1) = v Then monEquiv2 = i Next i End Function
JB
Me revoici. La macro fonctionne si le texte recherché ne dépasse pas les 255 caractères. Une idée pour contourner cette "limite" ?
Merci et bonne fin de journée
DesseJ
Merci JB pour le temps passé à m'aider, c'est royal !!!
Bonne journée; Steph
Merci JB pour le temps passé à m'aider, c'est royal !!!