recherche d une donnée sur plusieurs colones

olivemotard

XLDnaute Junior
Bonjour,:confused:

Je cherche à mettre en place via une macro une recherche de donnée.

explications, j'ai une suite de ligne sur lesquelles sont renseignées des references articles, chacune de ces references est rattachee a un certain nombre de produits finis
Les produits finis sont renseignes chacun dans une cellule a la suite de la designation article.

je me retrouve donc avec pour certaines lignes, la designation de l article, ... puis les produits finis qui peuvent representer 20 colones.

Le probleme est donc de generer une macro qui afficherai la ligne si dans l une cellule qui suit elle trouve mon produit.

Je ne peux donc pas utiliser les filtres.

Merci de m'aiguiller un peu pour ma macro.
 

job75

XLDnaute Barbatruc
Re : recherche d une donnée sur plusieurs colones

Bonsoir olivemotard, bonsoir Staple,

Je laisse la macro à Staple, voici un exemple de solution par formules.

Edit 1 : modifié pour supprimer les valeurs d'erreur, c'est plus propre...

Edit 2 : mis la ligne 3 au format personnalisé 0;; pour ne pas afficher les 0 (valeurs absentes sur la ligne trouvée).

A+
 

Pièces jointes

  • Recherche.xls
    23 KB · Affichages: 42
  • Recherche.xls
    23 KB · Affichages: 44
  • Recherche.xls
    23 KB · Affichages: 44
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : recherche d une donnée sur plusieurs colones

Bonsoir à tous


Je réponds à l'invitation de job75 ;)

J'ai repris le classeur de job75 (voir la pièce jointe)

(Je me suis permis d'ajouter une Données/Validation)

Code:
[FONT=Courier New][COLOR=darkblue]Private[/COLOR] [COLOR=darkblue]Sub[/COLOR] CommandButton1_Click()
[COLOR=darkblue]Dim[/COLOR] r&, Choix$
Range("A3:H3").ClearContents
Choix = Range("C1").Text
[COLOR=darkblue]Set[/COLOR] RangeObj = Cells.Find(What:=Choix, After:=ActiveCell, _
    LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
    SearchDirection:=xlNext, MatchCase:=False)
    [COLOR=darkblue]If[/COLOR] RangeObj [COLOR=darkblue]Is[/COLOR] [COLOR=darkblue]Nothing[/COLOR] [COLOR=darkblue]Then[/COLOR] MsgBox "Valeur non trouvée" [COLOR=darkblue]Else[/COLOR] RangeObj.Select
r = RangeObj.Row
Range("C2") = r
Range(Cells(r, 1), Cells(r, 8)).Copy Range(Cells(3, 1), Cells(3, 8))
[COLOR=darkblue]End[/COLOR] [COLOR=darkblue]Sub[/COLOR][/FONT]
 
Dernière édition:

olivemotard

XLDnaute Junior
Re : recherche d une donnée sur plusieurs colones

Bonjour

Je reviens, desole je n ai pas internet chez moi.
Voila un fichier exemple,
En fait je renseigne sur la premiere page le code du produit fini, la macro le copie et le colle sur le haut de bdd puis effectue une recherche.
Le probleme c est comment lancer cette recherche sur toutes les lignes et toutes les colones et n afficher que les lignes ou le code est trouvé
 

Pièces jointes

  • exemple.zip
    44.1 KB · Affichages: 20
  • exemple.zip
    44.1 KB · Affichages: 21
  • exemple.zip
    44.1 KB · Affichages: 30

olivemotard

XLDnaute Junior
Re : recherche d une donnée sur plusieurs colones

Avec la macro c est mieux
Code:
Sheets("search").Select
    Application.ScreenUpdating = False
    Sheets("acceuil").Select
    Range("F29").Select
    Selection.Copy
    Sheets("recherche").Select
    Range("BC1").Select
    ActiveSheet.Paste
    Set plage = [X3:AZ500]
    For Each c In plage
    If c.Value = [BC1] Then
    c.EntireRow.Hidden = True
    Else
    c.EntireRow.Hidden = False
    End If
    Next c
    Application.ScreenUpdating = True
    End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : recherche d une donnée sur plusieurs colones

Bonjour

Un petit conseil si tu permets

Utilises les balises BB CODE pour distinguer le code VBA de ton message

Voir ici pour les détails BB CODE

Tu édites ton précédent message en cliquant sur :
edit.gif


Merci.
 

olivemotard

XLDnaute Junior
Re : recherche d une donnée sur plusieurs colones

Bonjour Lii

Pas mal ta macro, mais le probleme est que vu la quantité de données et le nombre de colones a traiter, le menu deroulant se transforme vite en un cafarnaum.

Et si je passe sans menu deroulant avec ta formule, en saisissant juste mon code, vu que ce code comporte des C, /, je me retrouveavec le mode debugage.

Une idée ?

Merci d'avance
 

olivemotard

XLDnaute Junior
Re : recherche d une donnée sur plusieurs colones

Code:
Application.ScreenUpdating = False
    Sheets("accueil").Select
   Rem lignes ignorées
   ' Range("F29").Select
   ' Selection.Copy
   ' Sheets("recherche").Select
   ' Range("BC1").Select
   ' ActiveSheet.Paste
   ' Set plage = [X3:AZ500]
    With Sheets("recherche")
      .Range("X3:AZ547").EntireRow.Hidden = True
      If Range("F29") <> "" Then
        For Each Cell In .Range("X3:AZ547")
          If Cell = Range("F29").Value Then Cell.EntireRow.Hidden = False
        Next
      Else
        .Range("A3:AZ547").EntireRow.Hidden = False
      End If
    End With
    Sheets("recherche").Activate
    Application.ScreenUpdating = True
  
End Sub
 

Lii

XLDnaute Impliqué
Re : recherche d une donnée sur plusieurs colones

Re,

la liste de validation n'était là que pour faire quelques essais !
D'ailleurs, je n'avais rajouté des formules dans la feuille2 que pour tester cela !
Et si je passe sans menu deroulant avec ta formule, en saisissant juste mon code, vu que ce code comporte des C, /, je me retrouve avec le mode debugage.
Là, je ne comprends pas.
Donne un bout de fichier pour voir.
 

olivemotard

XLDnaute Junior
Re : recherche d une donnée sur plusieurs colones

Bonjour Lii,

Il y a un fichier exemple ci dessus : "exemple". a partir de la colone x, tu trouve sur chaque ligne les codes produits finis, et certains contiennent des lettres, des slash ou des points, et la macro se bloque avec ce type de codes.
Merci d'avance
 

Discussions similaires

Statistiques des forums

Discussions
312 400
Messages
2 088 087
Membres
103 711
dernier inscrit
mindo