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 Sub

Bonjour,

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 Sub

Bizz

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 Sub

Bizz

Rechercher des sujets similaires à "selection affichage donnee"