IF VBA avec recherche sur une cellule

Bonjour,

je cherche à copier une ligne si un élément est contenu dans une plage d'une autre page. Le module fonctionne avec comme argument :

If .Cells(Lig, Col).Value = "01" Then

Cependant j'aimerai mettre une plage de cellule d'une autre page à la place de "01".

J'étais partis sur :

If .Cells(Lig, Col).Value = Sheets("SECTEUR").Range(B2:T2) Then

Mais cela ne fonctionne pas. Je débute en VBA. Pouvez vous m'aider.

Merci d'avance

Bonjour,

Test avec des guillemets pour ton range("B2:T2")

If .Cells(Lig, Col).Value = Sheets("SECTEUR").Range("B2:T2") Then

Après n'ayant pas de fichier exemple je ne pourrais pas t'avancer plus dans ta recherche

J'ai corrigé néanmoins j'ai une erreur d’exécution 13. Je vous mets mon code complet :

Sub CopieDesCellules()

Dim Lig As Long

Dim Col As String

Dim NbrLig As Long

Dim NumLig As Long

Sheets("Feuil3").Activate ' feuille de destination

Col = "H" ' colonne de la donnée non vide à tester

NumLig = 0

With Sheets("Liste contetieux à coller") ' feuille source

NbrLig = .Cells(65536, Col).End(xlUp).Row

For Lig = 1 To NbrLig

If .Cells(Lig, Col).Value = Sheets("Secteur").Range("B2:T2") Then

.Cells(Lig, Col).EntireRow.Copy

NumLig = NumLig + 1

Cells(NumLig, 1).Select

ActiveSheet.Paste

End If

Next

End With

End Sub

Si j'ai bien compris ton IF,

tu veux comparer une valeur de cellule (en boucle de la ligne 1 a X) jusqu'à trouver la bonne valeur pour copier.

Après la question à se poser c'est : Le logiciel est t'il capable de comparer la valeur d'une cellule à DES valeurs d'un tableau.

En gros :

1 est t'il égal au tableau

1/2/3

3/5/6

4/8/9

Hors il me semble que tu ne peux pas comparer un nombre et un tableau (si je dis pas de bétises, je ne m'avance pas trop car je suis pas à 100% sûr de ce que j'avance)

Coucou

Je pense voir ton soucis mais j'aimerais tester pour confirmer (je suis pas un pro VBA comme ceux qui répondent habituellement) donc si tu peux joindre un fichier ça serait top.

Après ça c'est le code que j'utilise toujours pour faire des recherches (peut-être que ça t'aidera):

Dim liste As String
            Set c = .Find(liste, LookIn:=xlValues)
            If Not c Is Nothing Then
        c.Select
        Rows(c.Row).Copy

...................

je ne parviens pas à mettre en oeuvre la formule de Atro, qq aurait il une solution ?

merci d'avance

Rechercher des sujets similaires à "vba recherche"