XL 2016 Insérer un copier coller dans une liste déroulante

Flankers

XLDnaute Nouveau
Bonjour,

J'ai un petit soucis car je voudrais pouvoir ajouter la fonction copie-collé dans une liste déroulante.

Je m'explique j'ai un grand fichier dans lesquelles les cases ont toutes la même liste déroulante. Dans un soucis d'efficacité pour remplir ce document, je souhaiterai pouvoir copié-collé une valeur et la transposer à plusieurs autres cases contenant cette valeur dans leur liste déroulante.

Comment puis-je me débrouiller ? Est ce qu'il y a juste une option que je n'ai pas vu ? Ou alors il faut que je modifie le code source ?

Je vous remercie d'avance
 

frangy

XLDnaute Occasionnel
Bonjour,

D’après tes explications, ces cellules contiennent une liste de validation.
Si ces listes font référence à la même source, la modification de la source devrait s’appliquer à toutes les listes.
Voir exemple.

Cordialement.
 

Fichiers joints

Flankers

XLDnaute Nouveau
C'est effectivement le cas, j'ai une liste de validation, dans chaque case, qui font toutes référence à la même source.
Je voudrais simplement faire comme dans votre exemple pouvoir coller une valeur (de la liste) à toutes les autres cases.
Dans mon cas cela ne fonctionne pas le copié collé alors que les valeur correspondent.

Voir exemple

Cordialement
 

Fichiers joints

frangy

XLDnaute Occasionnel
Les nouveaux éléments doivent être renseignés dans la colonne "Eléments de la liste" qui est la liste source.
Les 3 autres listes sont alors automatiquement mises à jour.
 

Flankers

XLDnaute Nouveau
Oui oui je comprends, ce que je voudrais ce n'est pas entrer une nouvelle valeur dans ma liste mais seulement pouvoir remplir plus rapidement les cases avec un copié collé car mes cases sont toutes identiques.

1031455
Toutes les cases grisés ont la même liste de validation
1031456
Je voudrais pouvoir coller la case verte dans la case pointé avec la souris mais cela s'efface à chaque fois
 

frangy

XLDnaute Occasionnel
Je ne suis pas sûr de comprendre ton opération.
Si tu utilises des listes de validation, c’est à priori parce que tu souhaites limiter les entrées possibles dans les cellules concernées.
Dans ton exemple, « Done on time » fait partie de la liste. Il ne s’agit pas d’une nouvelle valeur.
Maintenant, si tu souhaites que la valeur sélectionnée soit copiée dans les autres cellules, il va falloir passer par VBA.

Exemple :
 

Fichiers joints

Flankers

XLDnaute Nouveau
Oui voila c'est exactement ca, qu'est ce qu'est VBA ?

Je suis désolé j'ai du mal à me faire comprendre, merci de votre patience
 

frangy

XLDnaute Occasionnel
L’opération de copie est réalisée par une procédure évènementielle Worksheet.Change.
Cette procédure permet de détecter une modification dans la cellule d’une plage déterminée.
La valeur de la cellule modifiée étant connue, il suffit d’effectuer la copie dans les autres cellules.
Tu peux la visualiser via DEVELOPPEUR > Visual Basic > Module Feuil1 (Feuil1)
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    'Si le nombre de cellules modifiées est supérieur à 1, alors on sort de la procédure
    If Target.Count > 1 Then Exit Sub
    'Si la cellule modifiée est A2, C2 ou E2
    If Not Application.Intersect(Target, Range("A2,C2,E2")) Is Nothing Then
        'On désactive les évènements pour éviter que la procédure soit relancée par la mise à jour de A2, C2 et E2
        Application.EnableEvents = False
        'On effectue la mise à jour de A2, C2 et E2
        Range("A2,C2,E2") = Target.Value
        'On réactive les évènements
        Application.EnableEvents = True
    End If
End Sub
Cordialement.
 

Discussions similaires


Haut Bas