Faire une recherche V en copiant la mise en forme

angel76

XLDnaute Nouveau
Bonjour,

J'utilise actuellement une formule : RechercheV pour copier les informations que j'ai besoin. Sauf que je souhaiterais que la formule copie également la mise en forme tel que la couleur de la police ou ou la couleur de remplissage.

Pour être plus claire, je vous joins un exemple de tableau.

Merci
 

Pièces jointes

  • ClasseurExemple.xlsx
    10.6 KB · Affichages: 42
  • ClasseurExemple.xlsx
    10.6 KB · Affichages: 44
  • ClasseurExemple.xlsx
    10.6 KB · Affichages: 44

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Faire une recherche V en copiant la mise en forme

Bonjour,

voir pj

Nom de champ
BD ='Base de données'!$A$2:$G$4


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect([A2:A10], Target) Is Nothing And Target.Count = 1 Then
     p = Application.Match(Target, Application.Index([BD], , 1), 0)
     If Not IsError(p) Then Sheets("Base de données").Range("BD").Cells(p, 2).Resize(, 6).Copy Target.Offset(, 1)
  End If
End Sub

Private Sub Worksheet_Activate() ' pour maj si changement dans la BD
  Application.ScreenUpdating = False
  For Each c In [A2:A10]
     p = Application.Match(c, Application.Index([BD], , 1), 0)
     If Not IsError(p) Then Sheets("Base de données").Range("BD").Cells(p, 2).Resize(, 6).Copy c.Offset(, 1)
   Next c
   Application.ScreenUpdating = True
End Sub

JB
 

Pièces jointes

  • Copie de ClasseurExemple.xls
    34.5 KB · Affichages: 43
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Faire une recherche V en copiant la mise en forme

Bonjour angel76

Vois si ceci te convient (copie par macro evenementielle après remplissage de la colonne A de la feuille Liste

Edit : Salut JB
 

Pièces jointes

  • ClasseurExemple.xlsm
    16.5 KB · Affichages: 54
  • ClasseurExemple.xlsm
    16.5 KB · Affichages: 53
  • ClasseurExemple.xlsm
    16.5 KB · Affichages: 49

excfl

XLDnaute Barbatruc
Re : Faire une recherche V en copiant la mise en forme

Bonjour,

Dans le fichier joint, les informations saisies à partir d'une liste déroulante
prennent la forme donnée dans le fichier de base.

Lien supprimé

excfl
 

excfl

XLDnaute Barbatruc
Re : Faire une recherche V en copiant la mise en forme

Re,

A partir du fichier donné dans le lien précédent, un début d'adaptation de ton tableau avec la première colonne "Désignation".

Dans l'onglet "liste" il suffit de changer la présentation des cellules et dans l'onglet "base de données" de choisir avec la liste déroulante.

excfl
 

Pièces jointes

  • liste déroulante couleurs.xls
    51 KB · Affichages: 37
  • liste déroulante couleurs.xls
    51 KB · Affichages: 39
  • liste déroulante couleurs.xls
    51 KB · Affichages: 40

angel76

XLDnaute Nouveau
Re : Faire une recherche V en copiant la mise en forme

Sur votre pièce jointe, je ne vois comment vous avez fait. Il me faudrait un peu plus d'explications s'il vous plait. Car là, je n'ai pas compris.
Merci



Bonjour,

voir pj

Nom de champ
BD ='Base de données'!$A$2:$G$4


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect([A2:A10], Target) Is Nothing And Target.Count = 1 Then
     p = Application.Match(Target, Application.Index([BD], , 1), 0)
     If Not IsError(p) Then Sheets("Base de données").Range("BD").Cells(p, 2).Resize(, 6).Copy Target.Offset(, 1)
  End If
End Sub

Private Sub Worksheet_Activate() ' pour maj si changement dans la BD
  Application.ScreenUpdating = False
  For Each c In [A2:A10]
     p = Application.Match(c, Application.Index([BD], , 1), 0)
     If Not IsError(p) Then Sheets("Base de données").Range("BD").Cells(p, 2).Resize(, 6).Copy c.Offset(, 1)
   Next c
   Application.ScreenUpdating = True
End Sub

JB
 

Discussions similaires

Réponses
12
Affichages
270

Statistiques des forums

Discussions
312 514
Messages
2 089 225
Membres
104 069
dernier inscrit
kit.survie