Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion Arpette
  • 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 !

Arpette

XLDnaute Impliqué
Code:
Bonjour le forum, je souhaite faire une rechercheV en Vba. 
J'ai une feuille active (Page 1), si j'ai un nom dans la cells (35,11),
sa ouvre un classeur Clients. 
Le chemin = C:\Documents and Settings\JFL CONTROLE\Bureau\Mes Clients
feuille Clients colonnes de A à D 
et renvoi les valeurs dans feuille Page 1 
Cells (36,11), (37,11), (38,11), (39,11)

Merci pour votre aide.
 
Re : Vba RechercheV

Bonjour Arpette,

Apparemment, je ne vois pas trop le rapport avec une "recherchev"... jamais vu cette fonction ouvrir un classeur.... peut être nous donner un peu plus de détails, type de donnée traité et code utilisé...

bon après midi
@+
 
Re : Vba RechercheV



Bonjour Pierrot et merci de me répondre, j'ai commencé à écrire
un bout de code pour ouvrir le classeur, mais après je coince pour
la rechercheV.
Merci de ton aide
Bon après midi.
Code:
Sub Worksheet_Activate()
Dim pl As Range 'déclare la variable pl (PLage)
Dim r As Range 'déclare la variable r (Recherche)
Dim Lechemin As String
Dim MonClasseur As Excel.Workbook

Lechemin = "E:\Mes Clients\Mes Clients.xls"
Set MonClasseur = Excel.Workbooks.Open(Lechemin)

With Sheets("Clients") 'prend en compte l'onglet "Clients"
    Set pl = .Range("A2:A" & .Range("A65536").End(xlUp).Row) 'définit la plage de recherche
End With 'fin de la prise en compte de l'onglet "Clients"
 
Re : Vba RechercheV

Re,

et tu coinces où ? regarde du coté de la méthode "find", cela doit correspondre à ta recherche, enfin il me semble.... sinon donne nous un peu plus de détails....

Re, en fait j'ai tout changé, mais çà ne fonctionne toujours pas.
Si tu peux maider.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Lechemin As String
Dim MonClasseur As Excel.Workbook
Dim Worksheet As Worksheet
Dim rng As Range
Dim Clients As Worksheet

Lechemin = "E:\Mes Clients\Mes Clients.xls"

ThisWorkbook.Activate
Worksheets("Page 1").Select
Set rng = Worksheets("Page 1").Range("K35")
Set MonClasseur = Excel.Workbooks.Open(Lechemin)
    
    With Application.WorksheetFunction
        Range("K37").Value = .VLookup(Range("K35").Value, Clients.Range("A:G"), 2, False)
        Range("I38").Value = .VLookup(Range("K35").Value, Clients.Range("A:G"), 3, False)
        Range("I39").Value = .VLookup(Range("K35").Value, Clients.Range("A:G"), 4, False)
        Range("I40").Value = .VLookup(Range("K35").Value, Clients.Range("A:G"), 5, False)
        Range("K41").Value = .VLookup(Range("K35").Value, Clients.Range("A:G"), 6, False)
        Range("K41").Value = .VLookup(Range("K35").Value, Clients.Range("A:G"), 7, False)
    End With
End Sub
 
Re : Vba RechercheV

Re,

essaye la méthode "find", comme suit ....

Code:
Dim x As Range
Set x = Clients.Columns("A:G").Find(Range("K35").Value, , xlValues, xlWhole, , , False)
If Not x Is Nothing Then
    Range("K37").Value = x.Offset(0, 1).Value
    'etc...
End If
 
Re : Vba RechercheV

Re,

Code:
Dim x As Range
Set x = Clients.Columns("A:G").Find(Range("K35").Value, , xlValues, xlWhole, , , False)

la variable "x" permettra de stocker l'objet range (la cellule et ses propriétés) dans lequel a été trouvé la valeur recherchée, et ce si la recherche à aboutie bien sur....
 
Re : Vba RechercheV


Re, désolé mais j'ai un message d'erreur "Variable d'objet ou variable de bloc With non définie
Merci de ton aide
 
Re : Vba RechercheV

Re,

la variable "Clients" bien été initialisée ?
par exemple
Code:
Dim Clients As Worksheet
Set Clients = ActiveSheet

Re, çà bug plus mais rien dans la cellule x = vide
Code:
Set Clients = ActiveSheet
    
   
        Set x = Clients.Columns("A:G").Find(Range("K35").Value, , xlValues, xlWhole, , , False)
        If Not x Is Nothing Then
        Range("K37").Value = x.Offset(0, 1).Value

        End If
 
Re : Vba RechercheV

Re,

là, il faudrait voir les données traitées, car en l'état difficile de t'en dire plus...

Re,
Je joints mes deux fichiers, il sont dans deux classeurs différents.
Merci de ton aide
 

Pièces jointes

- 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
5
Affichages
910
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
452
Réponses
15
Affichages
784
Réponses
10
Affichages
776
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…