Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Impossible de lire la propriété Match

13 réponses
Avatar
Gilbert
Bonjour,

Dans une procédure j'utilise le code suivant
--------------
.........
NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
Range("A:A"), 0)
Cells(NumLigne, 4) = NbHeuresPrescrites
NumOnglet = Format(Me.ListeMois, "m") + 1
ActiveWorkbook.Worksheets(NumOnglet).Activate
NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
Range("A:A"), 0)
........
FinProc:
Application.ScreenUpdating = True
Exit Sub
TraitementErreur:
MsgBox "Erreur " & Err.Number & " : " & Err.Description
Resume FinProc
End Sub
------------------------------

A l'exécution, sur le 2° NumLigne=...., je reçois le message suivant :
Impossible de lire la propriété Match de la classe WorkSheetFunction

Si je mets un point d'arrêt sur le MsgBox dans le traitement d'erreur et que
j'exécute le ligne dans la fenêtre Exécution, je récupère bien la valeur
attendue dans NumLigne.
Si je mets un point d'arrêt sur NumLigne=.... et que j'appuie sur F5 à
chaque passage (c'est dans une boucle) je n'ai pas d'erreur

Avez-vous une idée pour résoudre ce problème?

Merci d'avance

--
Cordialement,

Gilbert

10 réponses

1 2
Avatar
Daniel.C
Bonjour.
Ajoute :
MsgBox NomOrganisme
devant la ligne pour contrôler la valeur de la variable (le message se
produit si la variable n'est pas renseignée).
Cordialement.
Daniel

Bonjour,

Dans une procédure j'utilise le code suivant
--------------
.........
NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
Range("A:A"), 0)
Cells(NumLigne, 4) = NbHeuresPrescrites
NumOnglet = Format(Me.ListeMois, "m") + 1
ActiveWorkbook.Worksheets(NumOnglet).Activate
NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
Range("A:A"), 0)
........
FinProc:
Application.ScreenUpdating = True
Exit Sub
TraitementErreur:
MsgBox "Erreur " & Err.Number & " : " & Err.Description
Resume FinProc
End Sub
------------------------------

A l'exécution, sur le 2° NumLigne=...., je reçois le message suivant :
Impossible de lire la propriété Match de la classe WorkSheetFunction

Si je mets un point d'arrêt sur le MsgBox dans le traitement d'erreur et que
j'exécute le ligne dans la fenêtre Exécution, je récupère bien la valeur
attendue dans NumLigne.
Si je mets un point d'arrêt sur NumLigne=.... et que j'appuie sur F5 à
chaque passage (c'est dans une boucle) je n'ai pas d'erreur

Avez-vous une idée pour résoudre ce problème?

Merci d'avance


Avatar
Gilbert
Bonjour,

La variable NomOrganisme est bien renseignée, je l'utilise quelques lignes
plus haut pour la même fonction (sur une autre feuille) qui ne pose pas de
problème.
Cette erreur se produit lorsqu'il ne trouve pas la valeur recherchée.
Mais elle y est bien vu que l'erreur ne se produit pas avec un point d'arrêt
sur la ligne.
Sans espoir, j'ai ajouté un DoEvents avant. Sans succès non plus!

--
Cordialement,

Gilbert


"Daniel.C" a écrit dans le message de
news:%
Bonjour.
Ajoute :
MsgBox NomOrganisme
devant la ligne pour contrôler la valeur de la variable (le message se
produit si la variable n'est pas renseignée).
Cordialement.
Daniel

> Bonjour,
>
> Dans une procédure j'utilise le code suivant
> --------------
> .........
> NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
> Range("A:A"), 0)
> Cells(NumLigne, 4) = NbHeuresPrescrites
> NumOnglet = Format(Me.ListeMois, "m") + 1
> ActiveWorkbook.Worksheets(NumOnglet).Activate
> NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
> Range("A:A"), 0)
> ........
> FinProc:
> Application.ScreenUpdating = True
> Exit Sub
> TraitementErreur:
> MsgBox "Erreur " & Err.Number & " : " & Err.Description
> Resume FinProc
> End Sub
> ------------------------------
>
> A l'exécution, sur le 2° NumLigne=...., je reçois le message suivant :
> Impossible de lire la propriété Match de la classe WorkSheetFunction
>
> Si je mets un point d'arrêt sur le MsgBox dans le traitement d'erreur et


que
> j'exécute le ligne dans la fenêtre Exécution, je récupère bien la valeur
> attendue dans NumLigne.
> Si je mets un point d'arrêt sur NumLigne=.... et que j'appuie sur F5 à
> chaque passage (c'est dans une boucle) je n'ai pas d'erreur
>
> Avez-vous une idée pour résoudre ce problème?
>
> Merci d'avance




Avatar
Daniel.C
Essaie en mettant :
NumLigne = Application.Match(NomOrganisme, Range("A:A"), 0)
J'ai lu un jour qu'il y avait parfois des résultats avec
"WorksheetFunction.Match"
Daniel
Bonjour,

La variable NomOrganisme est bien renseignée, je l'utilise quelques lignes
plus haut pour la même fonction (sur une autre feuille) qui ne pose pas de
problème.
Cette erreur se produit lorsqu'il ne trouve pas la valeur recherchée.
Mais elle y est bien vu que l'erreur ne se produit pas avec un point d'arrêt
sur la ligne.
Sans espoir, j'ai ajouté un DoEvents avant. Sans succès non plus!

--
Cordialement,

Gilbert


"Daniel.C" a écrit dans le message de
news:%
Bonjour.
Ajoute :
MsgBox NomOrganisme
devant la ligne pour contrôler la valeur de la variable (le message se
produit si la variable n'est pas renseignée).
Cordialement.
Daniel

Bonjour,

Dans une procédure j'utilise le code suivant
--------------
.........
NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
Range("A:A"), 0)
Cells(NumLigne, 4) = NbHeuresPrescrites
NumOnglet = Format(Me.ListeMois, "m") + 1
ActiveWorkbook.Worksheets(NumOnglet).Activate
NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
Range("A:A"), 0)
........
FinProc:
Application.ScreenUpdating = True
Exit Sub
TraitementErreur:
MsgBox "Erreur " & Err.Number & " : " & Err.Description
Resume FinProc
End Sub
------------------------------

A l'exécution, sur le 2° NumLigne=...., je reçois le message suivant :
Impossible de lire la propriété Match de la classe WorkSheetFunction

Si je mets un point d'arrêt sur le MsgBox dans le traitement d'erreur et
que j'exécute le ligne dans la fenêtre Exécution, je récupère bien la
valeur attendue dans NumLigne.
Si je mets un point d'arrêt sur NumLigne=.... et que j'appuie sur F5 à
chaque passage (c'est dans une boucle) je n'ai pas d'erreur

Avez-vous une idée pour résoudre ce problème?

Merci d'avance






Avatar
Daniel.C
Oups.
Essaie en mettant :
NumLigne = Application.Match(NomOrganisme, Range("A:A"), 0)
J'ai lu un jour qu'il y avait parfois des résultats bizarres avec
"WorksheetFunction.Match"
Daniel


Essaie en mettant :
NumLigne = Application.Match(NomOrganisme, Range("A:A"), 0)
J'ai lu un jour qu'il y avait parfois des résultats avec
"WorksheetFunction.Match"
Daniel
Bonjour,

La variable NomOrganisme est bien renseignée, je l'utilise quelques lignes
plus haut pour la même fonction (sur une autre feuille) qui ne pose pas de
problème.
Cette erreur se produit lorsqu'il ne trouve pas la valeur recherchée.
Mais elle y est bien vu que l'erreur ne se produit pas avec un point
d'arrêt
sur la ligne.
Sans espoir, j'ai ajouté un DoEvents avant. Sans succès non plus!

-- Cordialement,

Gilbert


"Daniel.C" a écrit dans le message de
news:%
Bonjour.
Ajoute :
MsgBox NomOrganisme
devant la ligne pour contrôler la valeur de la variable (le message se
produit si la variable n'est pas renseignée).
Cordialement.
Daniel

Bonjour,

Dans une procédure j'utilise le code suivant
--------------
.........
NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
Range("A:A"), 0)
Cells(NumLigne, 4) = NbHeuresPrescrites
NumOnglet = Format(Me.ListeMois, "m") + 1
ActiveWorkbook.Worksheets(NumOnglet).Activate
NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
Range("A:A"), 0)
........
FinProc:
Application.ScreenUpdating = True
Exit Sub
TraitementErreur:
MsgBox "Erreur " & Err.Number & " : " & Err.Description
Resume FinProc
End Sub
------------------------------

A l'exécution, sur le 2° NumLigne=...., je reçois le message suivant :
Impossible de lire la propriété Match de la classe WorkSheetFunction

Si je mets un point d'arrêt sur le MsgBox dans le traitement d'erreur et
que j'exécute le ligne dans la fenêtre Exécution, je récupère bien la
valeur attendue dans NumLigne.
Si je mets un point d'arrêt sur NumLigne=.... et que j'appuie sur F5 à
chaque passage (c'est dans une boucle) je n'ai pas d'erreur

Avez-vous une idée pour résoudre ce problème?

Merci d'avance








Avatar
Gilbert
Le problème est le même. L'erreur est différente.
Cette fois-ci je récupère le message "Incompatibilité de type"
Si je mets un point d'arrêt : pas de problème!
Je n'y comprends rien.

--
Cordialement,

Gilbert


"Daniel.C" a écrit dans le message de
news:%
Essaie en mettant :
NumLigne = Application.Match(NomOrganisme, Range("A:A"), 0)
J'ai lu un jour qu'il y avait parfois des résultats avec
"WorksheetFunction.Match"
Daniel
> Bonjour,
>
> La variable NomOrganisme est bien renseignée, je l'utilise quelques


lignes
> plus haut pour la même fonction (sur une autre feuille) qui ne pose pas


de
> problème.
> Cette erreur se produit lorsqu'il ne trouve pas la valeur recherchée.
> Mais elle y est bien vu que l'erreur ne se produit pas avec un point


d'arrêt
> sur la ligne.
> Sans espoir, j'ai ajouté un DoEvents avant. Sans succès non plus!
>
> --
> Cordialement,
>
> Gilbert
>
>
> "Daniel.C" a écrit dans le message de
> news:%
>> Bonjour.
>> Ajoute :
>> MsgBox NomOrganisme
>> devant la ligne pour contrôler la valeur de la variable (le message se
>> produit si la variable n'est pas renseignée).
>> Cordialement.
>> Daniel
>>
>>> Bonjour,
>>>
>>> Dans une procédure j'utilise le code suivant
>>> --------------
>>> .........
>>> NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
>>> Range("A:A"), 0)
>>> Cells(NumLigne, 4) = NbHeuresPrescrites
>>> NumOnglet = Format(Me.ListeMois, "m") + 1
>>> ActiveWorkbook.Worksheets(NumOnglet).Activate
>>> NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
>>> Range("A:A"), 0)
>>> ........
>>> FinProc:
>>> Application.ScreenUpdating = True
>>> Exit Sub
>>> TraitementErreur:
>>> MsgBox "Erreur " & Err.Number & " : " & Err.Description
>>> Resume FinProc
>>> End Sub
>>> ------------------------------
>>>
>>> A l'exécution, sur le 2° NumLigne=...., je reçois le message suivant :
>>> Impossible de lire la propriété Match de la classe


WorkSheetFunction
>>>
>>> Si je mets un point d'arrêt sur le MsgBox dans le traitement d'erreur


et
>>> que j'exécute le ligne dans la fenêtre Exécution, je récupère bien la
>>> valeur attendue dans NumLigne.
>>> Si je mets un point d'arrêt sur NumLigne=.... et que j'appuie sur F5 à
>>> chaque passage (c'est dans une boucle) je n'ai pas d'erreur
>>>
>>> Avez-vous une idée pour résoudre ce problème?
>>>
>>> Merci d'avance




Avatar
Daniel.C
Ca ne sent pas bon...
Pour tester, peux-tu recopier les feuilles nécessaires à l'exécution de
la macro dans un nouveau classeur et exécuter la macro ?
Daniel

Le problème est le même. L'erreur est différente.
Cette fois-ci je récupère le message "Incompatibilité de type"
Si je mets un point d'arrêt : pas de problème!
Je n'y comprends rien.

--
Cordialement,

Gilbert


"Daniel.C" a écrit dans le message de
news:%
Essaie en mettant :
NumLigne = Application.Match(NomOrganisme, Range("A:A"), 0)
J'ai lu un jour qu'il y avait parfois des résultats avec
"WorksheetFunction.Match"
Daniel
Bonjour,

La variable NomOrganisme est bien renseignée, je l'utilise quelques lignes
plus haut pour la même fonction (sur une autre feuille) qui ne pose pas de
problème.
Cette erreur se produit lorsqu'il ne trouve pas la valeur recherchée.
Mais elle y est bien vu que l'erreur ne se produit pas avec un point
d'arrêt sur la ligne.
Sans espoir, j'ai ajouté un DoEvents avant. Sans succès non plus!

--
Cordialement,

Gilbert


"Daniel.C" a écrit dans le message de
news:%
Bonjour.
Ajoute :
MsgBox NomOrganisme
devant la ligne pour contrôler la valeur de la variable (le message se
produit si la variable n'est pas renseignée).
Cordialement.
Daniel

Bonjour,

Dans une procédure j'utilise le code suivant
--------------
.........
NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
Range("A:A"), 0)
Cells(NumLigne, 4) = NbHeuresPrescrites
NumOnglet = Format(Me.ListeMois, "m") + 1
ActiveWorkbook.Worksheets(NumOnglet).Activate
NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
Range("A:A"), 0)
........
FinProc:
Application.ScreenUpdating = True
Exit Sub
TraitementErreur:
MsgBox "Erreur " & Err.Number & " : " & Err.Description
Resume FinProc
End Sub
------------------------------

A l'exécution, sur le 2° NumLigne=...., je reçois le message suivant :
Impossible de lire la propriété Match de la classe WorkSheetFunction

Si je mets un point d'arrêt sur le MsgBox dans le traitement d'erreur et
que j'exécute le ligne dans la fenêtre Exécution, je récupère bien la
valeur attendue dans NumLigne.
Si je mets un point d'arrêt sur NumLigne=.... et que j'appuie sur F5 à
chaque passage (c'est dans une boucle) je n'ai pas d'erreur

Avez-vous une idée pour résoudre ce problème?

Merci d'avance










Avatar
michdenis
Un petit exemple :

Dans la colonne A1:A10 -> des cellules au
format texte contenant des valeurs numériques

X = Application.Match(1, Range("A1:A10"), 0)
x = erreur -> 2042

Par contre
X = Application.Match("1", Range("A1:A10"), 0)
retourne la valeur attendue.

Est-ce que le type de valeur du premier argument de
la fonction Match correspond au type de valeur affichée
dans la plage de cellules ?

Est-ce que tu es sûr que c'est la bonne feuille qui est affichée
auquel range("a:A") fait référence dans la fonction.

Si ta procédure est écrite dans un module feuille, Range("a:a")
fait obligatoirement référence à cette feuille si tu n'as pas
spécifié le nom de la feuille à laquelle il appartient.




"Gilbert" a écrit dans le message de groupe de
discussion :
Bonjour,

Dans une procédure j'utilise le code suivant
--------------
.........
NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
Range("A:A"), 0)
Cells(NumLigne, 4) = NbHeuresPrescrites
NumOnglet = Format(Me.ListeMois, "m") + 1
ActiveWorkbook.Worksheets(NumOnglet).Activate
NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
Range("A:A"), 0)
........
FinProc:
Application.ScreenUpdating = True
Exit Sub
TraitementErreur:
MsgBox "Erreur " & Err.Number & " : " & Err.Description
Resume FinProc
End Sub
------------------------------

A l'exécution, sur le 2° NumLigne=...., je reçois le message suivant :
Impossible de lire la propriété Match de la classe WorkSheetFunction

Si je mets un point d'arrêt sur le MsgBox dans le traitement d'erreur et que
j'exécute le ligne dans la fenêtre Exécution, je récupère bien la valeur
attendue dans NumLigne.
Si je mets un point d'arrêt sur NumLigne=.... et que j'appuie sur F5 à
chaque passage (c'est dans une boucle) je n'ai pas d'erreur

Avez-vous une idée pour résoudre ce problème?

Merci d'avance

--
Cordialement,

Gilbert
Avatar
Gilbert
En fait j'ai 1 classeur qui me sert à effectuer le traitement
Il ouvre 2 classeurs (A et B) pour les résultats.
Puis il ouvre N classeurs pour sélectionner les données qui sont cumulées
dans l'un ou l'autre des classeurs A et B
A chaque traitement j'utilise 2 modèles pour A et B ou bien les classeurs du
mois précédent.

--
Cordialement,

Gilbert


"Daniel.C" a écrit dans le message de
news:
Ca ne sent pas bon...
Pour tester, peux-tu recopier les feuilles nécessaires à l'exécution de
la macro dans un nouveau classeur et exécuter la macro ?
Daniel

> Le problème est le même. L'erreur est différente.
> Cette fois-ci je récupère le message "Incompatibilité de type"
> Si je mets un point d'arrêt : pas de problème!
> Je n'y comprends rien.
>
> --
> Cordialement,
>
> Gilbert
>
>
> "Daniel.C" a écrit dans le message de
> news:%
>> Essaie en mettant :
>> NumLigne = Application.Match(NomOrganisme, Range("A:A"), 0)
>> J'ai lu un jour qu'il y avait parfois des résultats avec
>> "WorksheetFunction.Match"
>> Daniel
>>> Bonjour,
>>>
>>> La variable NomOrganisme est bien renseignée, je l'utilise quelques


lignes
>>> plus haut pour la même fonction (sur une autre feuille) qui ne pose


pas de
>>> problème.
>>> Cette erreur se produit lorsqu'il ne trouve pas la valeur recherchée.
>>> Mais elle y est bien vu que l'erreur ne se produit pas avec un point
>>> d'arrêt sur la ligne.
>>> Sans espoir, j'ai ajouté un DoEvents avant. Sans succès non plus!
>>>
>>> --
>>> Cordialement,
>>>
>>> Gilbert
>>>
>>>
>>> "Daniel.C" a écrit dans le message de
>>> news:%
>>>> Bonjour.
>>>> Ajoute :
>>>> MsgBox NomOrganisme
>>>> devant la ligne pour contrôler la valeur de la variable (le message


se
>>>> produit si la variable n'est pas renseignée).
>>>> Cordialement.
>>>> Daniel
>>>>
>>>>> Bonjour,
>>>>>
>>>>> Dans une procédure j'utilise le code suivant
>>>>> --------------
>>>>> .........
>>>>> NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
>>>>> Range("A:A"), 0)
>>>>> Cells(NumLigne, 4) = NbHeuresPrescrites
>>>>> NumOnglet = Format(Me.ListeMois, "m") + 1
>>>>> ActiveWorkbook.Worksheets(NumOnglet).Activate
>>>>> NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
>>>>> Range("A:A"), 0)
>>>>> ........
>>>>> FinProc:
>>>>> Application.ScreenUpdating = True
>>>>> Exit Sub
>>>>> TraitementErreur:
>>>>> MsgBox "Erreur " & Err.Number & " : " & Err.Description
>>>>> Resume FinProc
>>>>> End Sub
>>>>> ------------------------------
>>>>>
>>>>> A l'exécution, sur le 2° NumLigne=...., je reçois le message suivant


:
>>>>> Impossible de lire la propriété Match de la classe


WorkSheetFunction
>>>>>
>>>>> Si je mets un point d'arrêt sur le MsgBox dans le traitement


d'erreur et
>>>>> que j'exécute le ligne dans la fenêtre Exécution, je récupère bien


la
>>>>> valeur attendue dans NumLigne.
>>>>> Si je mets un point d'arrêt sur NumLigne=.... et que j'appuie sur F5


à
>>>>> chaque passage (c'est dans une boucle) je n'ai pas d'erreur
>>>>>
>>>>> Avez-vous une idée pour résoudre ce problème?
>>>>>
>>>>> Merci d'avance




Avatar
Misange
Bonjour
Deux choses :
Il y a une petite subtilité dans le choix entre l'utilisation de
application.worksheetfunction.match ou de worksheetfunction.match :
avec la formulation longue, s'il n'y a pas d'équivalence, vba te renvoie
une erreur et s'arrête. Avec la formulation courte, tu peux tester
l'erreur (if iserror...) et la gérer.

ensuite essaie déjà de remplacer nomorganisme par sa valeur pour voir si
le problème ne vient pas de là. Comme tu travailles avec plusieurs
classeurs, assure toi que ta macro sait bien où trouver le nom défini.
Ne serait-il pas attribué de façon différente à divers classeurs ?

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Gilbert a écrit :
Bonjour,

Dans une procédure j'utilise le code suivant
--------------
.........
NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
Range("A:A"), 0)
Cells(NumLigne, 4) = NbHeuresPrescrites
NumOnglet = Format(Me.ListeMois, "m") + 1
ActiveWorkbook.Worksheets(NumOnglet).Activate
NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
Range("A:A"), 0)
........
FinProc:
Application.ScreenUpdating = True
Exit Sub
TraitementErreur:
MsgBox "Erreur " & Err.Number & " : " & Err.Description
Resume FinProc
End Sub
------------------------------

A l'exécution, sur le 2° NumLigne=...., je reçois le message suivant :
Impossible de lire la propriété Match de la classe WorkSheetFunction

Si je mets un point d'arrêt sur le MsgBox dans le traitement d'erreur et que
j'exécute le ligne dans la fenêtre Exécution, je récupère bien la valeur
attendue dans NumLigne.
Si je mets un point d'arrêt sur NumLigne=.... et que j'appuie sur F5 à
chaque passage (c'est dans une boucle) je n'ai pas d'erreur

Avez-vous une idée pour résoudre ce problème?

Merci d'avance



Avatar
Gilbert
Merci de ta réponse
J'ai répondu dans ton message

--
Cordialement,

Gilbert

Un petit exemple :

Dans la colonne A1:A10 -> des cellules au
format texte contenant des valeurs numériques

X = Application.Match(1, Range("A1:A10"), 0)
x = erreur -> 2042

Par contre
X = Application.Match("1", Range("A1:A10"), 0)
retourne la valeur attendue.

Est-ce que le type de valeur du premier argument de
la fonction Match correspond au type de valeur affichée
dans la plage de cellules ?



Ce sont des valeurs texte du genre
ASTI-12
GRETA-12
IRFA-12



Est-ce que tu es sûr que c'est la bonne feuille qui est affichée
auquel range("a:A") fait référence dans la fonction.



Oui j'ai ajouté cette ligne pour vérifier
Cells(1, 1) = "aaaaaaa"


Si ta procédure est écrite dans un module feuille, Range("a:a")
fait obligatoirement référence à cette feuille si tu n'as pas
spécifié le nom de la feuille à laquelle il appartient.



J'ai écrit
ActiveWorkbook.Worksheets(NumOnglet).Activate
Cells(1, 1) = "aaaaaaa"
NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
Range("A:A"), 0)

Je fais donc bien référence à la feuille dans laquelle j'écris "aaaaaaa",
Non?
J'ai essayé aussi avec
Set MaPlage¬tiveWorkbook.Worksheets(NumOnglet).Range("A:A")
NumLigne = Application.WorksheetFunction.Match(NomOrganisme, MaPlage, 0)






"Gilbert" a écrit dans le message de


groupe de
discussion :
Bonjour,

Dans une procédure j'utilise le code suivant
--------------
.........
NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
Range("A:A"), 0)
Cells(NumLigne, 4) = NbHeuresPrescrites
NumOnglet = Format(Me.ListeMois, "m") + 1
ActiveWorkbook.Worksheets(NumOnglet).Activate
NumLigne = Application.WorksheetFunction.Match(NomOrganisme,
Range("A:A"), 0)
........
FinProc:
Application.ScreenUpdating = True
Exit Sub
TraitementErreur:
MsgBox "Erreur " & Err.Number & " : " & Err.Description
Resume FinProc
End Sub
------------------------------

A l'exécution, sur le 2° NumLigne=...., je reçois le message suivant :
Impossible de lire la propriété Match de la classe WorkSheetFunction

Si je mets un point d'arrêt sur le MsgBox dans le traitement d'erreur et


que
j'exécute le ligne dans la fenêtre Exécution, je récupère bien la valeur
attendue dans NumLigne.
Si je mets un point d'arrêt sur NumLigne=.... et que j'appuie sur F5 à
chaque passage (c'est dans une boucle) je n'ai pas d'erreur

Avez-vous une idée pour résoudre ce problème?

Merci d'avance

--
Cordialement,

Gilbert



1 2