Définition d'une plage de cellule avec XlUp et utilisation de Match

Tibo2

XLDnaute Nouveau
Bonjour,

J'ai eu une longue bataille avec excel afin de pouvoir utiliser la fonction Match sur une plage de cellule. J'ai finalement réussi à résoudre mon problème mais je ne comprends pas pourquoi il y en avait un. Si qqn pourrait m'expliquer ce serait parfait. Le problème repose sur la définition de ma plage, j'avais trouvé sur un forum la mnière pratique de définir de la manière suivante: Range([A1], [A100].End(xlUp)) mais il semblerait qu'il y ait un problème. De plus Worksheets("ScenarioRecharge").Activate ne fonctionnement pas. je suis obligé de specifier Worksheets("ScenarioRecharge").Range("A7:A" & [A65000].End(xlUp).Row), pourquoi?

Merci d'avance à la personne qui prendra le temps de m'éclairer sur ça.

Bonne journée

Mon code initial était le suivant et ne marchait pas à cause de la définition de PlageRecherche:

Public Function Scenario(NL As Byte)
Dim ScenarioSelectionne As Variant
Dim PlageRecherche As Range
Dim NL_Scenario As Double
ScenarioSelectionne = Worksheets("ProfilCharge").Cells(NL + 8, 3)
Worksheets("ScenarioRecharge").Activate
Set PlageRecherche = Range([A1], [A100].End(xlUp))
NL_Scenario = Application.WorksheetFunction.Match(ScenarioSelectionne, PlageRecherche, 0)
Scenario = NL_Scenario
End Function

J'ai finalement modifie en :

Public Function Scenario(NL As Byte)
Dim ScenarioSelectionne As Variant
Dim PlageRecherche As Range
Dim NL_Scenario As Double
ScenarioSelectionne = Worksheets("ProfilCharge").Cells(NL + 8, 3)
Set PlageRecherche = Worksheets("ScenarioRecharge").Range("A7:A" & [A65000].End(xlUp).Row)
NL_Scenario = Application.WorksheetFunction.Match(ScenarioSelectionne, PlageRecherche, 0)
Scenario = NL_Scenario
End Function
 

tototiti2008

XLDnaute Barbatruc
Re : Définition d'une plage de cellule avec XlUp et utilisation de Match

Bonjour Tibo2,

comme ça je dirais que c'est parce que ta première version sélectionne un feuille
Une fonction n'interagit pas avec les objets, pour interagir il faut faire une Sub

Essaye comme ça pour voir

Code:
Public Function Scenario(NL As Byte)
Dim ScenarioSelectionne As Variant
Dim PlageRecherche As Range
Dim NL_Scenario As Double
ScenarioSelectionne = Worksheets("ProfilCharge").Cells(NL + 8, 3)
Set PlageRecherche = Worksheets("ScenarioRecharge").Range([A1], [A100].End(xlUp))
NL_Scenario = Application.WorksheetFunction.Match(ScenarioSelectionne, PlageRecherche, 0)
Scenario = NL_Scenario
End Function
 

Tibo2

XLDnaute Nouveau
Re : Définition d'une plage de cellule avec XlUp et utilisation de Match

Merci pour ta réponse.

Ca ne marche pas. Le bug réside dans : Set PlageRecherche = Worksheets("ScenarioRecharge").Range([A1], [A100].End(xlUp))
Mais je ne vois vraiment pas pourquoi, je pense que je dois mal utiliser End(xlUp)...
 

Tibo2

XLDnaute Nouveau
Re : Définition d'une plage de cellule avec XlUp et utilisation de Match

Parfait c'était bien ça.
Je pensais que comme c'était dans la même ligne il n'y avait pas de problème. Une chose de plus d'appris!
Merci

PS: je dois cliquer sur qqch pour dire résolu?
 

Discussions similaires

Statistiques des forums

Discussions
312 320
Messages
2 087 223
Membres
103 497
dernier inscrit
JP9231