Sélection et affichage de donnée
Bonjour,
néophyte du language VBA. me voilà face à un problème.
voici ce que je souhaite faire :
- permettre à l'utilisateur de sélectionner une donnée (ici c'est une référence d'un produit) rn CLIQUANT
- ouvrir un autre classeur
rechercher la vleur sélectionner par l'utilisateur.
problème je bloque à la 3ème étape, voici mon code.
Sub recherche_()
Dim cellulecible
On Error Resume Next
Set cellulecible = Application.InputBox("sélectionnez la cellule")
Dim cheminfichier As String
cheminfichier = "C:\Users\cccccc\OneDrive - ccccc\Bureau\ccccc - ccccc\bdd.xlsx"
On Error Resume Next
Set wb = Workbooks.Open(Filename:=cheminfichier)
On Error GoTo 0
Set feuillecible = wb.Sheets("xxxxx")
Set plagerecherche = feuillecible.Range("B2:B375")
Set celluletrouvee = plagerecherche.Find(What:=cellulecible, LookIn:=xlValues, LookAt:=xlWhole)
Workbooks("BDD CERTIFICATS.xlsx").Worksheets("ELEC").Activate
End SubBonjour,
Pourquoi vous lancer dans VBA si vous ne connaissez pas
Alors qu'il existe bon nombre de solutions sans : RECHERCHEV(), Power Query, etc..
parce que j'ai pour mission d'optimisier cette base de donnée, ce n'est pas pour mon propre compte
Re,
Et bien justement... à l'air du cloud, je pense qu'utiliser VBA est une erreur à mes yeux
Merci pour votre avis, mais ma question n'est pas de savoir si je devrais utiliser ou non VBA, elle porte sur une problématique propre au langage VBA que je souhaite apprendre. Si vous avez quoique ce soit à partager qui sorte de ce cadre, merci de vous abstenir, le monde n'en sera que meilleur.
Bonjour excel lance, le fil, le forum,
Un essai à améliorer :
Sub recherche_()
Dim CelluleCible, Wb1 As Workbook, FeuilleCible As Worksheet
Dim PlageRecherche, CelluleTrouvee As Range
Dim Cheminfichier As String
Set Wb1 = ActiveWorkbook
' reste à ajouter la gestion des erreurs et si annulé
CelluleCible = Application.InputBox("sélectionnez la cellule")
' n'a pas été testé sur OneDrive
Cheminfichier = "C:\Users\cccccc\OneDrive - ccccc\Bureau\ccccc - ccccc\bdd.xlsx"
Set wb = Workbooks.Open(Filename:=Cheminfichier)
Set FeuilleCible = wb.Sheets("xxxxx")
FeuilleCible.Activate
Set PlageRecherche = FeuilleCible.Range("B2:B375")
Set CelluleTrouvee = PlageRecherche.Find(What:=CelluleCible, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
MsgBox CelluleTrouvee.Value & " ---- " & CelluleTrouvee.Address
Wb1.Activate
'Workbooks("BDD CERTIFICATS.xlsx").Worksheets("ELEC").Activate
End SubBizz
Bonjour excel lance, le fil, le forum,
La version précédente moulinée dans ChatGPT ...
Sub recherche_()
Dim CelluleCible As String
Dim Wb1 As Workbook
Dim FeuilleCible As Worksheet
Dim PlageRecherche As Range
Dim CelluleTrouvee As Range
Dim Cheminfichier As String
Dim wb As Workbook
On Error GoTo ErreurHandler
' Récupère le classeur actif
Set Wb1 = ActiveWorkbook
' Demande à l'utilisateur de sélectionner une cellule
CelluleCible = Application.InputBox("Sélectionnez la cellule", Type:=2)
' Vérifie si l'utilisateur a annulé l'input box
If CelluleCible = "False" Then
MsgBox "Action annulée par l'utilisateur."
Exit Sub
End If
' Chemin du fichier à ouvrir (à adapter si nécessaire)
Cheminfichier = "C:\Users\cccccc\OneDrive - ccccc\Bureau\ccccc - ccccc\bdd.xlsx"
' Ouvre le fichier cible
Set wb = Workbooks.Open(Filename:=Cheminfichier)
' Définit la feuille de calcul cible
Set FeuilleCible = wb.Sheets("xxxxx")
FeuilleCible.Activate
' Définit la plage de recherche
Set PlageRecherche = FeuilleCible.Range("B2:B375")
' Recherche la cellule cible dans la plage
Set CelluleTrouvee = PlageRecherche.Find(What:=CelluleCible, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
' Vérifie si la cellule a été trouvée
If Not CelluleTrouvee Is Nothing Then
MsgBox "Valeur trouvée : " & CelluleTrouvee.Value & " ---- " & CelluleTrouvee.Address
Else
MsgBox "Cellule non trouvée."
End If
' Réactive le classeur initial
Wb1.Activate
' Ferme le classeur cible sans sauvegarder les modifications
wb.Close SaveChanges:=False
Exit Sub
ErreurHandler:
MsgBox "Une erreur est survenue : " & Err.Description
If Not wb Is Nothing Then
wb.Close SaveChanges:=False
End If
End SubBizz