Recherche valeur en VBA

Bonjour à tous et Bonne année 2023

J'ai créé une macro pour rechercher une valeur dans une colonne, mais comment faire pour que cette recherche soit faite UNIQUEMENT dans

une colonne spécifique (F).

la macro est la suivante :

Sub Rech_Imputation()

' Macro recherche Imputation
'
Nom = InputBox("Entrez l'Imputation recherché", "Nom Prestataire")
If Nom = "" Then Exit Sub
Range("F8").Select
Set c = Cells.Find(Nom, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Select
rep = MsgBox("Recherche du suivant", vbOKCancel, "Recherche nouvelle occurence")
If rep = vbCancel Then Exit Sub
Set c = Cells.FindNext(c)
If c Is Nothing Then
Adresse_encours = 0
Else
Adresse_encours = c.Address
End If
Loop While Not (c Is Nothing) And (Adresse_encours <> firstAddress)
End If
'Range("F8").Select
Application.Run "Vide"
MsgBox "Cette Imputation n'existe pas ou aucune nouvelle occurrence !!", vbCritical, "Message d'erreur"
End Sub

Merci pour votre réponse

Gégé44

Bonjour,

Comme on ne dispose que de peu d'éléments, voici une réponse à la même hauteur:

    With Range("F1:F10000") 'Recherche dans la colonne F
        Set c = .Find(Nom, LookIn:=xlValues) 'j'ajouterai: Lookat:=XlPart ou Lookat:=XlWhole suivant le cas
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                If MsgBox("Recherche du suivant", vbOKCancel, "Recherche nouvelle occurence") = vbCancel Then Exit Sub
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> firstAddress
        End If
    End With

Cdlt

Bonjour et bonne année !
Arturo83 bonjour,

en fait l'objet "CELLS" de Set c = Cells.Find(Nom, LookIn:=xlValues) correspond à l'ensemble des cellules de la feuille active lors du déroulé du code.
Donc comme l'a fait Arturo83, il "suffit" de remplacer cet objet par celui voulu ici la colonne F qui arbitrairement l'a définit de 1 à 10000, mais vous pouvez faire sur la colonne entière avec Columns(6).Find, ou plus précis en recherchant la dernière ligne de la colonne F avec DerLigne = Range("F" & Rows.Count).End(xlUp).Row et Range("F1:F"&DerLigne).Find

@ bientôt

LouReeD

Bravo BITSCH

Faire une demande dans la partie " A propos du forum"

image

Sujet déplacé

Rechercher des sujets similaires à "recherche valeur vba"