VBA problème avec la fonction Find

  • Initiateur de la discussion Initiateur de la discussion omduvfca
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

omduvfca

XLDnaute Nouveau
Bonjour,

Je débute dans la programmation VBA, je ne trouve pas la solution à un problème de recherche de valeur dans une ligne ou une colonne d'un tableau. La macro que j'ai écrite me renvoie le message d'erreur '9' : l'indice n'appartient pas à la sélection.

D'abord, je voudrais récupérer dans un tableau de données le numéro de la ligne où se trouve mon identifiant, et le numéro de la colonne où ajouter de nouvelles valeurs d'un autre tableau. Pour la recherche de la ligne, c'est OK. Mais pas pour la recherche de la colonne, j'ai un message d'erreur "L'indice n'appartient pas à la sélection" et je ne comprends pas pourquoi.

Voici une partie de ma macro

Dim CelluleCourante As Range
Dim nuance As String, id As String
Dim reponse As Range

Sheets("Feuil2").Select
Set CelluleCourante = ActiveSheet.Range("A1").End(xlDown)
CelluleCourante.Select

Do While Not IsEmpty(CelluleCourante) = True
CelluleCourante.Select
id = CelluleCourante.Value
nuance = CelluleCourante.Offset(0, 3).Value
.....

Sheets("Matrice").Select
Set reponse = ActiveSheet.Range("A1").CurrentRegion.Find(id, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows)
If Not reponse Is Nothing Then
ligne = reponse.Row
End If
Set reponse = ActiveSheet.Range("A1").CurrentRegion.Find(nuance, LookIn:=xlValue, LookAt:=xlWhole, SearchOrder:=xlByColumns)
If Not reponse Is Nothing Then
colonne = reponse.Column
End If

....

Sheets("Feuil2").Select
Set CelluleCourante = CelluleCourante.Offset(1, 0)
Loop

Le message d'erreur ("L'indice n'appartient pas à la sélection") pointe sur la ligne ci-dessous

Set reponse = ActiveSheet.Range("A1").CurrentRegion.Find(nuance, LookIn:=xlValue, LookAt:=xlWhole, SearchOrder:=xlByColumns)

Je suis coincé depuis plusieurs heures sans trouver de réponses sur les forums adaptées à mon cas.

Merci par avance de votre aide
 
Re : VBA problème avec la fonction Find

Bonjour Omduvfca et bienvenu(e), bonjour le forum,

Il manque un s à XlValue
Code:
Set reponse = ActiveSheet.Range("A1").CurrentRegion.Find(nuance, LookIn:=xlValue, LookAt:=xlWhole, SearchOrder:=xlByColumns)
Essaie comme ça :
Code:
Set reponse = ActiveSheet.Range("A1").CurrentRegion.Find(nuance, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns)
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
50
Réponses
2
Affichages
423
Retour