Excel VBA find() dans une ligne variable

bibiman23 Messages postés 45 Statut Membre -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
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!

1 réponse

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    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
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      Tu devrais commencer chaque module par :
      Option Explicit

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