Excel VBA find() dans une ligne variable

Fermé
bibiman23 Messages postés 37 Date d'inscription mercredi 8 juillet 2009 Statut Membre Dernière intervention 21 novembre 2011 - 20 nov. 2011 à 16:22
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 20 nov. 2011 à 23:42
Bonjour,

Je cherche à récupérer le n° de colonne d'une donnée dans une ligne, où le numéro est passé en tant que variable (i).

sub test ()

Dim wa As Workbook
Dim wsource201 As Worksheet
Set wa = Workbooks("toto.xls")
Set ws201 = wa.Worksheets("titi")

For i = 1 To 1000

code_transaction = ws201.Cells(i, col_source_Transaction).Value

ligne_source_transaction = ws201.Range(Cells(i, 11), Cells(i, 100))

col_source_saisie = ligne_source_transaction.Find(What:=Saisie, LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByColumns).Column

je suis sûr qu'il y a des méthodes avec active cells, mais j'y arrive pas..

Merci d'avance!

A voir également:

1 réponse

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
20 nov. 2011 à 22:47
Utiliser ActivCell n'est pas une bonne idée !

Il y a une erreur dans ton code, il faut écrire :
Set ligne_source_transaction = ws201.Range(Cells(i, 11), Cells(i, 100))

ou directement :
col_source_saisie = ws201.Range(Cells(i, 11), Cells(i, 100)).Find(What:=Saisie, LookIn:=xlFormulas, LookAt:=xlWhole).Column
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
20 nov. 2011 à 23:42
Tu devrais commencer chaque module par :
Option Explicit

Cela éviterais les très nombreuses erreurs que tu fais sur tes variables !!!
Patrice
0