Bonjour tout le monde,
Est ce que quelqu'un peut me dire qu'est ce qui cloche dans ce morceau de code vba sous excel, mon but est celui de mettre à jour une liste déroulante sur le champ B:B
à chaque fois qu'un 'nom' nouveau y est inscrit sur le champ B:B mais à partir d'une plage nommée appelée 'listearticle' et qui se trouve sur une autre feuille du classeur
donc chaque fois qu'un nouveau nom d'article est inséré dans l'une des cellules du champ B:B et qui n'existe pas dans la liste déroulante, ce nouveau nom est rajouté à la 'listearticle' qui se trouve sur une autre feuille du classeur et comme ça 'listearticle' qui est commune pour plusieurs feuilles est mise à jour et puis le nouveau nom apparaîtra dans chaque liste déroulante qui renvoi les valeurs de 'listearticle'
merci pour votre aide
Est ce que quelqu'un peut me dire qu'est ce qui cloche dans ce morceau de code vba sous excel, mon but est celui de mettre à jour une liste déroulante sur le champ B:B
à chaque fois qu'un 'nom' nouveau y est inscrit sur le champ B:B mais à partir d'une plage nommée appelée 'listearticle' et qui se trouve sur une autre feuille du classeur
donc chaque fois qu'un nouveau nom d'article est inséré dans l'une des cellules du champ B:B et qui n'existe pas dans la liste déroulante, ce nouveau nom est rajouté à la 'listearticle' qui se trouve sur une autre feuille du classeur et comme ça 'listearticle' qui est commune pour plusieurs feuilles est mise à jour et puis le nouveau nom apparaîtra dans chaque liste déroulante qui renvoi les valeurs de 'listearticle'
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then
Dim Cell As Range
For Each Cell In Range("B4:B" & Range("B500").End(xlUp).Row)
Cell.Select
If Application.CountIf(Range("listearticle"), Cell) = 0 Then
Range("J500").End(xlUp).Offset(1, 0) = Cell
End If
Next Cell
End If
End sub
merci pour votre aide