XL pour MAC Mise à jour automatique d'une liste

Atiom

XLDnaute Occasionnel
Bonjour,

Nous avons un tableau ( que peux contenir environ 1500 lignes ) remplie avec de liste de validation qui sont alimentée par une base de données dans une autre feuille.
La question est :
Existe-t-il un moyen de mettre à jour le tableau, lorsque nous changeons une donnée dans la base ?
Exemple si nous remplaçons élève 1 par Alain.

Ci-joint un exemple pour une meilleure compréhension.

Merci d’avance pour votre aide.
 

Pièces jointes

  • Liste_Validation_Atiom.xlsm
    29.1 KB · Affichages: 10

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Atiom,
Un essai en PJ avec :
VB:
Public NomAvant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' On mémorise le Nom mors du clic de la cellule
On Error GoTo Fin
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [C:C]) Is Nothing Then
        If Target = "" Then Exit Sub
        NomAvant = Target
    End If
Fin:
End Sub
Sub Worksheet_Change(ByVal Target As Range)
    ' A la fin de la modif, on remplace dans Tableau l'ancien nom par le nouveau
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [C:C]) Is Nothing Then
         On Error GoTo Fin2:
         Application.EnableEvents = False
         Application.ScreenUpdating = False
         With Sheets("tableau")
            DL = .Range("C65500").End(xlUp).Row
            For L = 10 To DL
                If .Cells(L, "C") = NomAvant Then .Cells(L, "C") = Target
            Next L
        End With
    End If
Fin2:
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Une macro sur clic cellule qui mémorise le nom présent, et une macro avec modif qui va faire le remplacement dans Tableau.
J'ai rien trouvé de mieux qu'une boucle car un Replace remplace Eleve 1 par Alain, mais aussi Eleve 13 par Alain3. Sauf si une astuce existe ...
 

Pièces jointes

  • Liste_Validation_Atiom (2).xlsm
    32.1 KB · Affichages: 1

vgendron

XLDnaute Barbatruc
Hello

en PJ, une proposition
1) j'ai désactivé le code existant qui trace le quadrillage à chaque fois que tu selectionnes une cellule
2) j'ai créé des tableaux structurés que j'ai nommés en "Tab_XXX" avec XXX en entete
ces tableaux structurés sont utilisés dans les listes de validation du tablo "TabData" de la feuille TABLEAU
3) dans ce tablo "TabData", les entetes doivent correspondre au XXX de chaque tablo structuré de la feuille Base
4) dans la feuille "Base"
l'évènement selectionchange permet de sauvegarder l'élément AVANT que tu le modifies
l'évènement change detecte le nom du tablo structuré que tu es en train de modifier puis fait les modifs
je te laisse regarder le code avec les commentaires
 

Pièces jointes

  • Liste_Validation_Atiom.xlsm
    25.7 KB · Affichages: 1

Atiom

XLDnaute Occasionnel
Bonsoir,

Merci sylvanu et vgendron.
Les deux versions fonctionnent !
La dernière version de vgendron me semble un peu plus complète.
Les deux fonctionnent parfaitement sur PC.
Lundi matin je vais tester à l’école sur MAC et vous tiens au courant.
Merci beaucoup pour votre aide.
Je vous souhaite une bonne soirée et un excellent week-end.
 

Discussions similaires

Statistiques des forums

Discussions
312 040
Messages
2 084 827
Membres
102 684
dernier inscrit
flint125