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
MichD
Bonjour,
La fonction "Match()" en VBA a un bogue si tu utilises cette syntaxe :
X = Application.WorksheetFunction.Match(x, Range("A1:A65536"),0)
La solution : utilise plutôt cette syntaxe sans l'expression WorksheetFunction.
X = Application.Match(x, Range("A1:A65536"),0)
Si tu utilises un objet "Range" comme 2 ième argument, tu peux faire référence à la colonne complète.
Si le deuxième argument est un Tableau (array), il est plus que possible que le nombre d'éléments du tableau soit limité. C'était vrai pour la version Excel 2000 à Excel 2003. Je suppose cependant que ce nombre a augmenté significativement depuis Excel 2007.
La fonction "Match()" en VBA a un bogue si tu utilises
cette syntaxe :
X = Application.WorksheetFunction.Match(x, Range("A1:A65536"),0)
La solution : utilise plutôt cette syntaxe sans l'expression
WorksheetFunction.
X = Application.Match(x, Range("A1:A65536"),0)
Si tu utilises un objet "Range" comme 2 ième argument,
tu peux faire référence à la colonne complète.
Si le deuxième argument est un Tableau (array), il est plus
que possible que le nombre d'éléments du tableau soit limité.
C'était vrai pour la version Excel 2000 à Excel 2003. Je suppose
cependant que ce nombre a augmenté significativement depuis
Excel 2007.
La fonction "Match()" en VBA a un bogue si tu utilises cette syntaxe :
X = Application.WorksheetFunction.Match(x, Range("A1:A65536"),0)
La solution : utilise plutôt cette syntaxe sans l'expression WorksheetFunction.
X = Application.Match(x, Range("A1:A65536"),0)
Si tu utilises un objet "Range" comme 2 ième argument, tu peux faire référence à la colonne complète.
Si le deuxième argument est un Tableau (array), il est plus que possible que le nombre d'éléments du tableau soit limité. C'était vrai pour la version Excel 2000 à Excel 2003. Je suppose cependant que ce nombre a augmenté significativement depuis Excel 2007.
La fonction "Match()" en VBA a un bogue si tu utilises cette syntaxe :
X = Application.WorksheetFunction.Match(x, Range("A1:A65536"),0)
La solution : utilise plutôt cette syntaxe sans l'expression WorksheetFunction.
X = Application.Match(x, Range("A1:A65536"),0)
Si tu utilises un objet "Range" comme 2 ième argument, tu peux faire référence à la colonne complète.
Si le deuxième argument est un Tableau (array), il est plus que possible que le nombre d'éléments du tableau soit limité. C'était vrai pour la version Excel 2000 à Excel 2003. Je suppose cependant que ce nombre a augmenté significativement depuis Excel 2007.
merci pour ta réponse. Mon problème est avec Excel 2010 : Ca fonctionne en utilisant un Range mais avec un tableau, ça plante dès que le nombre de ligne dépasse 65536. On va supposer que Microsoft n'a pas mis à jour la fonction Match en Vba.
j-p
Le 20/08/2013 16:04, MichD a écrit :
Bonjour,
La fonction "Match()" en VBA a un bogue si tu utilises
cette syntaxe :
X = Application.WorksheetFunction.Match(x, Range("A1:A65536"),0)
La solution : utilise plutôt cette syntaxe sans l'expression
WorksheetFunction.
X = Application.Match(x, Range("A1:A65536"),0)
Si tu utilises un objet "Range" comme 2 ième argument,
tu peux faire référence à la colonne complète.
Si le deuxième argument est un Tableau (array), il est plus
que possible que le nombre d'éléments du tableau soit limité.
C'était vrai pour la version Excel 2000 à Excel 2003. Je suppose
cependant que ce nombre a augmenté significativement depuis
Excel 2007.
merci pour ta réponse.
Mon problème est avec Excel 2010 :
Ca fonctionne en utilisant un Range mais avec un tableau, ça plante dès
que le nombre de ligne dépasse 65536. On va supposer que Microsoft n'a
pas mis à jour la fonction Match en Vba.
La fonction "Match()" en VBA a un bogue si tu utilises cette syntaxe :
X = Application.WorksheetFunction.Match(x, Range("A1:A65536"),0)
La solution : utilise plutôt cette syntaxe sans l'expression WorksheetFunction.
X = Application.Match(x, Range("A1:A65536"),0)
Si tu utilises un objet "Range" comme 2 ième argument, tu peux faire référence à la colonne complète.
Si le deuxième argument est un Tableau (array), il est plus que possible que le nombre d'éléments du tableau soit limité. C'était vrai pour la version Excel 2000 à Excel 2003. Je suppose cependant que ce nombre a augmenté significativement depuis Excel 2007.
merci pour ta réponse. Mon problème est avec Excel 2010 : Ca fonctionne en utilisant un Range mais avec un tableau, ça plante dès que le nombre de ligne dépasse 65536. On va supposer que Microsoft n'a pas mis à jour la fonction Match en Vba.
j-p
MichD
|ça plante dès que le nombre de ligne dépasse 65536
La fonction Match() a toujours eu une limite quant au nombre d'items qu'un tableau pouvait contenir. C'est ce que j'ai indiqué dans ma réponse précédente.
Ce n'est pas un bogue, mais une limite d'Excel. Heureux pour toi que cette limite soit de 65536, car dans les versions antérieures à 2007, cette valeur était beaucoup plus basse.
|ça plante dès que le nombre de ligne dépasse 65536
La fonction Match() a toujours eu une limite quant au
nombre d'items qu'un tableau pouvait contenir. C'est ce
que j'ai indiqué dans ma réponse précédente.
Ce n'est pas un bogue, mais une limite d'Excel.
Heureux pour toi que cette limite soit de 65536, car dans
les versions antérieures à 2007, cette valeur était beaucoup
plus basse.
|ça plante dès que le nombre de ligne dépasse 65536
La fonction Match() a toujours eu une limite quant au nombre d'items qu'un tableau pouvait contenir. C'est ce que j'ai indiqué dans ma réponse précédente.
Ce n'est pas un bogue, mais une limite d'Excel. Heureux pour toi que cette limite soit de 65536, car dans les versions antérieures à 2007, cette valeur était beaucoup plus basse.