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
Je veux bien tester ce que tu proposes, mais l'erreur ne se produit pas lorsque je mets un point d'arrêt. La valeur cherchée existe donc bien dans la plage où je la cherche.
-- Cordialement,
Gilbert
"Misange" a écrit dans le message de news:OLd93$
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 >
Merci de t'intéresser à mon problème.
Je veux bien tester ce que tu proposes, mais l'erreur ne se produit pas
lorsque je mets un point d'arrêt.
La valeur cherchée existe donc bien dans la plage où je la cherche.
--
Cordialement,
Gilbert
"Misange" <misange@monsite.net> a écrit dans le message de
news:OLd93$wdJHA.3948@TK2MSFTNGP04.phx.gbl...
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
>
Je veux bien tester ce que tu proposes, mais l'erreur ne se produit pas lorsque je mets un point d'arrêt. La valeur cherchée existe donc bien dans la plage où je la cherche.
-- Cordialement,
Gilbert
"Misange" a écrit dans le message de news:OLd93$
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 >
michdenis
Afin d'isoler ta problématique,
Crée toi une toute petite procédure qui reprend essentiellement seulement les éléments nécessaires à l'obtention du résultat que tu cherches avec la fonction "Match"...
Y arrives-tu ?
"Gilbert" a écrit dans le message de groupe de discussion : Merci de t'intéresser à mon problème.
Je veux bien tester ce que tu proposes, mais l'erreur ne se produit pas lorsque je mets un point d'arrêt. La valeur cherchée existe donc bien dans la plage où je la cherche.
-- Cordialement,
Gilbert
"Misange" a écrit dans le message de news:OLd93$
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 >
Afin d'isoler ta problématique,
Crée toi une toute petite procédure qui
reprend essentiellement seulement les éléments
nécessaires à l'obtention du résultat que tu cherches
avec la fonction "Match"...
Y arrives-tu ?
"Gilbert" <ZZZgilbertvie@NOSPAMlaposte.net> a écrit dans le message de groupe de
discussion : O5VmYRxdJHA.3520@TK2MSFTNGP05.phx.gbl...
Merci de t'intéresser à mon problème.
Je veux bien tester ce que tu proposes, mais l'erreur ne se produit pas
lorsque je mets un point d'arrêt.
La valeur cherchée existe donc bien dans la plage où je la cherche.
--
Cordialement,
Gilbert
"Misange" <misange@monsite.net> a écrit dans le message de
news:OLd93$wdJHA.3948@TK2MSFTNGP04.phx.gbl...
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
>
Crée toi une toute petite procédure qui reprend essentiellement seulement les éléments nécessaires à l'obtention du résultat que tu cherches avec la fonction "Match"...
Y arrives-tu ?
"Gilbert" a écrit dans le message de groupe de discussion : Merci de t'intéresser à mon problème.
Je veux bien tester ce que tu proposes, mais l'erreur ne se produit pas lorsque je mets un point d'arrêt. La valeur cherchée existe donc bien dans la plage où je la cherche.
-- Cordialement,
Gilbert
"Misange" a écrit dans le message de news:OLd93$
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 >
Gilbert
J'ai trouvé l'origine du problème. Il y avait dans le modèle de classeur une feuille cachée que je n'avais pas vue (c'est normal, elle était cachée!) dans laquelle ne se trouvaient évidemment pas les valeurs recherchées. Désolé de vous avoir fait perdre votre temps (et votre latin) sur une "conceté" de ma part.
Encore un grand merci à tous
-- Cordialement,
Gilbert
"michdenis" a écrit dans le message de news:
Afin d'isoler ta problématique,
Crée toi une toute petite procédure qui reprend essentiellement seulement les éléments nécessaires à l'obtention du résultat que tu cherches avec la fonction "Match"...
Y arrives-tu ?
"Gilbert" a écrit dans le message de
groupe de
discussion : Merci de t'intéresser à mon problème.
Je veux bien tester ce que tu proposes, mais l'erreur ne se produit pas lorsque je mets un point d'arrêt. La valeur cherchée existe donc bien dans la plage où je la cherche.
-- Cordialement,
Gilbert
"Misange" a écrit dans le message de news:OLd93$ > 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 > >
J'ai trouvé l'origine du problème.
Il y avait dans le modèle de classeur une feuille cachée que je n'avais pas
vue (c'est normal, elle était cachée!) dans laquelle ne se trouvaient
évidemment pas les valeurs recherchées.
Désolé de vous avoir fait perdre votre temps (et votre latin) sur une
"conceté" de ma part.
Encore un grand merci à tous
--
Cordialement,
Gilbert
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:B97B4358-490B-4CF4-B7C3-0CC843C19DDA@microsoft.com...
Afin d'isoler ta problématique,
Crée toi une toute petite procédure qui
reprend essentiellement seulement les éléments
nécessaires à l'obtention du résultat que tu cherches
avec la fonction "Match"...
Y arrives-tu ?
"Gilbert" <ZZZgilbertvie@NOSPAMlaposte.net> a écrit dans le message de
groupe de
discussion : O5VmYRxdJHA.3520@TK2MSFTNGP05.phx.gbl...
Merci de t'intéresser à mon problème.
Je veux bien tester ce que tu proposes, mais l'erreur ne se produit pas
lorsque je mets un point d'arrêt.
La valeur cherchée existe donc bien dans la plage où je la cherche.
--
Cordialement,
Gilbert
"Misange" <misange@monsite.net> a écrit dans le message de
news:OLd93$wdJHA.3948@TK2MSFTNGP04.phx.gbl...
> 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
> >
J'ai trouvé l'origine du problème. Il y avait dans le modèle de classeur une feuille cachée que je n'avais pas vue (c'est normal, elle était cachée!) dans laquelle ne se trouvaient évidemment pas les valeurs recherchées. Désolé de vous avoir fait perdre votre temps (et votre latin) sur une "conceté" de ma part.
Encore un grand merci à tous
-- Cordialement,
Gilbert
"michdenis" a écrit dans le message de news:
Afin d'isoler ta problématique,
Crée toi une toute petite procédure qui reprend essentiellement seulement les éléments nécessaires à l'obtention du résultat que tu cherches avec la fonction "Match"...
Y arrives-tu ?
"Gilbert" a écrit dans le message de
groupe de
discussion : Merci de t'intéresser à mon problème.
Je veux bien tester ce que tu proposes, mais l'erreur ne se produit pas lorsque je mets un point d'arrêt. La valeur cherchée existe donc bien dans la plage où je la cherche.
-- Cordialement,
Gilbert
"Misange" a écrit dans le message de news:OLd93$ > 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 > >