rechercher l'information

  • Initiateur de la discussion Initiateur de la discussion Yohan05
  • 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 !

Yohan05

XLDnaute Occasionnel
Bonjour à tous,

Je vous explique mo but :

Rechercher la valeur G4 dans la colonne C d'un autre classeur, voici mon code mais je n'arrive pas à l'élaborer comme il faut avec la fonction Find??

Dim Work As String
Work = Sheets("Commande").Range("G4").Value

Workbooks.Open Filename:="H:\GESTION DE PRODUCTION\Analyse\Analyse du système.xlsm", UpdateLinks:=0
Sheets("Informations").Select

If Sheets("Informations").Range("C65536").End(xlUp).Value = Work Then
ActiveWorkbook.Save
ActiveWindow.Close
MsgBox ("Veuillez mettre la référence du client!( ex : non du client . réf)Celle indiquée est déjà utilisée.")
Exit Sub
End If
ActiveWorkbook.Save
ActiveWindow.Close

Donc je ne sais pas si je peux modifier le code? .Range("C65536").End(xlUp).Value (et comment?)ou alors est-ce qu'il y a un autre moyen?

Merci de votre aide

Yohan
 
Re : rechercher l'information

Bonjour,

un exemple de recherche dans la colonne C, nom des objets à adapter :
Code:
Dim Work As String, x As Range
Work = Sheets("Commande").Range("G4").Value
Set x = Workbooks("NomClasseur.xls").Sheets("NomFeuille").Columns(3).Find(Work, , xlValues, xlWhole, , , False)
If Not x Is Nothing Then MsgBox "Trouvé en " & x.Address

A consulter également l'aide vba sur la méthode "find" et ses arguments.

bonne journée
@+
 
Re : rechercher l'information

Bonjour,

Regarde si ça convient :
Code:
Dim Classeur As Workbook
Dim Plage As Range
Dim Cel As Range
Dim Work As String

Work = Sheets("Commande").Range("G4").Value

Set Classeur = Workbooks.Open(Filename:="H:\GESTION DE PRODUCTION\Analyse\Analyse du système.xlsm", UpdateLinks:=0)

With Classeur.Sheets("Informations")

        Set Plage = .Range(.Cells(1, 3), .Cells(.Rows.Count, 3).End(xlUp))

End With

Set Cel = Plage.Find(Work, , xlValue, xlWhole)

If Not Cel Is Nothing Then

    Classeur.Save
    Classeur.Close
    
    MsgBox ("Veuillez mettre la référence du client!( ex : non du client . réf)Celle indiquée est déjà utilisée.")
    
    Exit Sub

Else

    'ce que tu veux faire si le mot n'est pas trouvé...
    
End If

Hervé.
 
Re : rechercher l'information

Merci à vous,

J'ai choixi la méthde de Pierrot93 cela fonctionne parfaitement.

Hervé, je pense que il y a une erreur dans :
Set Cel = Plage.Find(Work, , xlValues, xlWhole, , , False)

Merci beaucoup

bonne journée
Yohan
 
- 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
10
Affichages
789
Réponses
10
Affichages
1 K
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
612
Retour