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

dn35

XLDnaute Occasionnel
Re-bonjour le forum

Je reviens à nouveau vers vous pour m'aider ... 😱
J'ai une base de donnée d'où je dois extraire plusieurs valeurs en fonction d'une valeur choisie dans une liste de choix.
Grace aux excellents codes de BOISGONTIER, j'ai quelques idées mais qui ne donnent rien à chaque fois parce qu'en fait je ne saisi pas très bien le code que je vous copie ci-dessous :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 1 And Target.Count = 1 Then
    p = Application.Match(Target, Application.Index([données], , 1), 0)
    If Not IsError(p) Then
       Sheets("BD").Range("données").Cells(p, 2).Copy Target.Offset(, 1)
    End If
  End If
End Sub

Private Sub Worksheet_Activate()
  Application.ScreenUpdating = False
  For Each c In [A3:A10]
    p = Application.Match(c, Application.Index([données], , 1), 0)
    If Not IsError(p) Then
       Sheets("BD").Range("données").Cells(p, 2).Copy c.Offset(, 1)
    End If
  Next c
  Application.ScreenUpdating = True
End Sub

Je vous joint un bout du fichier pour que vous visualisiez mieux mon problème. en fait dans l'onglet "broyage" la liste de choix permet de choisir une référence. Les cellules en dessous doivent se renseigner par le principe d'une rechercheV d'après l'onglet "BD broyage". Si je veux passer par un code VBA c'est que je souhaite pouvoir mettre également de la mise en forme sur ma police dans ma base de données et la voir s'appliquer dans la fiche techniqueMerci d'avance à tous

Bonne soirée
Laure
 
Re : recherchev en vba

bonjour Laure

tres rapidement avant d'aller dodo

teste

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$11" Then
  Set c = Sheets("BD BROYAGE").Columns(1).Find(Target.Value, LookIn:=xlValue, lookat:=xlWhole)
  If Not c Is Nothing Then
   For n = 1 To 20
    Range("D" & 11 + n) = c.Offset(0, n)
   Next n
  End If
End If
End Sub
 
Re : recherchev en vba

Bonjour le forum !

J'ai eut le temps de jeter un oeil à la solution de pierrejean malheureusement j'ai un bug sur la ligne suivante :
Code:
Set c = Sheets("BD BROYAGE").Columns(1).Find(Target.Value, LookIn:=xlValue, lookat:=xlWhole)

Losque je survole la ligne de code il m'indique bien la bonne valeur pour target.value par contre il indique xlvalue=2 et xlwhole=1. A quoi cela correspond t-il?
Est ce qu'il serait possible de m'expliquer le fonctionnement de cette ligne et/ou éventuellement pourquoi elle bugue ?

Merci d'avance à tous et bonne journée
Laure
 
Dernière édition:
Re : recherchev en vba

Salut pierrejean

arf, you are genius !!!! Merci !!!! J'ai encore quelques cellule qui ,ne se remplissent pas en bas de tableau, je crois que je dois faire quelques modif dans ma base de données ... je vais regarder.

Cette ligne de code en gros est celle qui retrouve la valeur de la cellule de référence dans le tableau de la base de donnée ? A quoi correspondent LookIn:=xlValue, lookat:=xlWhole ?

En tous cas merci !!!
 
Re : recherchev en vba

Quand tu dit qu'xlWhole recherche de façon exacte tu veux dire que les formats sont également recherchés ? Parceque là les fomats qui se trouvent dans la base de données ne sont pas appliqués (en particulier ce qui m'interresse, les couleurs de police, parfois 2 ou 3 différentes dans la même cellule)
Ou alors dois-je préciser dans la même ligne xlformats ?
 
Dernière édition:
Re : recherchev en vba

Re

non la difference est par exemple qu'avec XlWhole Pierre est trouvé si on cherche Pierre et Pierre Durand ne le sera pas , avec xlPart on trouverait dans les 2 cas
Pour les formats je pense qu'il faut d'abord chercher le contenu avec xlValues puis controler ensuite le resultat de la recherche avec l'origine du point de vue des caracteristisques particulieres (Font Bold etc.....)
 
Dernière édition:
Re : recherchev en vba

re pierrejean

et merci pour la précision ! 🙂

Par contre si je veux que les formats de police soient également copiés lors de la recherche, comment dois-je procéder? J'ai essayé d'ajouter une ligne pour rechercher également le format (ave xlformats) mais ça bugue systématiquement ... Encore une foir je patauge complètement dans la semoule ... As tu une idée ?
@+
Laure
 
Re : recherchev en vba

re-

Je me permets ce petit up car je galère franchement !
Concrètement la solution de pierrejean me permets de rechercher les valeurs et cela fonctionne parfaitement. Malheureusement j'ai besoin que le format de police soit également transposé lors de la recherche. Si quelqu'un a une idée ...

Merci d'avance
Laure
 
Re : recherchev en vba

Bonjour le forum,

Je me permets à nouveau de remonter ce post car je n'ai toujours pas trouvé comment en plus d'aller chercher avec succès des infos sur une feuille pour les inscrire sur une autre feuille en fonction d'un critère (recherchev quoi ...) j'ai également besoin d'amener le format de police qui s'y trouve. Je re-post le Ce lien n'existe plus pour que vous puissiez visualiser. Ce que je voudrait c'est que les parties de phrases en rouge dans la base de donnée apparaissent également en rouge dans la FIT.

Merci d'avance pour votre aide et bon week end à tous !
Laure
 
- 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
7
Affichages
178
Retour