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

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

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

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+
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: 9
Désolé de ne pouvoir vous aider. Je n'ai rien là où vous indiquez. ( peut être un pb de version XL )
4.jpg
 
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

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
 
- 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
15
Affichages
458
Réponses
6
Affichages
186
Retour