XL 2019 VBA - Copier liste déroulante en fonction d'une référence

brandao

XLDnaute Nouveau
Bonjour tous le monde,
J'ai un petit problème, j'aimerai pouvoir copier une liste déroulante associée à une référence dans une autre feuille si la référence est trouvée.

Je débute en programmation. Pouvez-vous m’aiguiller ?

Je vous remercie par avance.
Cordialement

Corentin
 

Pièces jointes

  • test...xlsx
    19 KB · Affichages: 9
Solution
Bonjour brandao, sylvanu,

Voyez le fichier joint et cette macro dans le code de la feuille "Final" :
VB:
Private Sub Worksheet_Activate()
Dim plage As Range, i&, j As Variant
Set plage = Sheets("Catalogue ").[A1].CurrentRegion 'un espace superflu dans le nom de la feuille !!!
With [A1].CurrentRegion
    For i = 2 To .Rows.Count
        j = Application.Match(Cells(i, 2), plage.Columns(2), 0)
        If IsNumeric(j) Then plage(j, 3).Copy Cells(i, 3)
    Next
End With
End Sub
Elle se déclenche quand on active la feuille.

A+

brandao

XLDnaute Nouveau
Bonjour Brandao,
Ou se trouve la liste déroulante dans la page Catalogue ? Je n'en ai trouvé aucune.
Bonjour,
Les listes déroulantes se trouvent en face de chaque référence (les données de ces listes correspondent aux données de la feuille TIGES)

Je vous remercie pour votre réponse
 

Pièces jointes

  • Capture d’écran 2020-03-19 à 3.27.17 PM.png
    Capture d’écran 2020-03-19 à 3.27.17 PM.png
    359.9 KB · Affichages: 5

sylvanu

XLDnaute Barbatruc
Supporter XLD
Désolé de ne pouvoir vous aider. Je n'ai rien là où vous indiquez. ( peut être un pb de version XL )
4.jpg
 

job75

XLDnaute Barbatruc
Bonjour brandao, sylvanu,

Voyez le fichier joint et cette macro dans le code de la feuille "Final" :
VB:
Private Sub Worksheet_Activate()
Dim plage As Range, i&, j As Variant
Set plage = Sheets("Catalogue ").[A1].CurrentRegion 'un espace superflu dans le nom de la feuille !!!
With [A1].CurrentRegion
    For i = 2 To .Rows.Count
        j = Application.Match(Cells(i, 2), plage.Columns(2), 0)
        If IsNumeric(j) Then plage(j, 3).Copy Cells(i, 3)
    Next
End With
End Sub
Elle se déclenche quand on active la feuille.

A+
 

Pièces jointes

  • test..(1).xlsm
    26.3 KB · Affichages: 4

brandao

XLDnaute Nouveau
Bonjour brandao, sylvanu,

Voyez le fichier joint et cette macro dans le code de la feuille "Final" :
VB:
Private Sub Worksheet_Activate()
Dim plage As Range, i&, j As Variant
Set plage = Sheets("Catalogue ").[A1].CurrentRegion 'un espace superflu dans le nom de la feuille !!!
With [A1].CurrentRegion
    For i = 2 To .Rows.Count
        j = Application.Match(Cells(i, 2), plage.Columns(2), 0)
        If IsNumeric(j) Then plage(j, 3).Copy Cells(i, 3)
    Next
End With
End Sub
Elle se déclenche quand on active la feuille.

A+
Super ! Merci beaucoup !
Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 306
Membres
102 859
dernier inscrit
Diallokass