Excel liste deroulante saisie auto

Résolu
tictac847 -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Voila, j'ai un classeur excel avec une macro qui permet de dupliquer des feuilles et les renommer.
Dans ces feuilles j'ai utiliser la validation de donnée pour insérer des listes déroulantes qui vont chercher les valeur d'un tableau sur une autre feuilles.
Je voudrais qu'en renommant mes tableaux, les listes déroulantes soient aussi mises à jours pour aller chercher les valeur dans les nouveaux tableaux plutôt que le tableau d'origine d'ou elles ont étaies copiées.

Je voudrais aussi si possible que ces listes disposent de la saisie intelligente( filtrer la liste en fonction des premières lettres entrées) et qu'elles ne reprennent pas les doublons.

Merci

Ps: ci joint un fichier au cas ou ma question ne serait pas assez claire.

http://www.cijoint.fr/cjlink.php?file=cj201110/cijHViWKO5.xls

6 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    allez on va continuer sur la lancée, explique en détail que l'on cerne ton résonnement
    Quel onglet veux tu dupliquer !
    comment détermines tu le nom du nouvel onglet !
    la plage de données qui renseigne tes listes déroulantes se trouve sur une feuille principale ou est propre à chaque feuille et se trouve t sur chaque feuille !
    J'ai déjà remarqué que tu protèges ou déprotèges tes feuilles sur un simple clic ce qui n'est pas très sécurisant, pourquoi ne mettrez tu pas une inputbox avec un mot de passe et un système de protection automatique afin d'éviter les oublis de reprotection !
    Tant que tu y es, peux tu globalement donner des explications sur les aboutissements de ton fichier pour essayer de concentrer les codes et éviter les conflits

    J'ai mis les deux autres discussions en résolu

    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
  2. tictac847
     
    Re

    Lol, on entame la 2eme mi-temps

    Les noms des onglets sont définis par inputbox dans la macro NveauClient. Ils copient les feuilles DEV et Planning DEV en les renommants.
    Je t'ai mis toutes les information dans le fichier.
    Oui pour tu as raison pour ton système de protection ça m'a l'air plus fiable.

    Merci Mike.

    http://www.cijoint.fr/cjlink.php?file=cj201110/cijMsxZjTP.xlsm
    0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Tes codes sont à revoir et à compléter avec des gestions d'erreurs pour éviter les plantage etc...
    Je vais commencer par là pour y voir plus clair
    0
  4. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Je n'oublie pas ton problème, je refais ton fichier qui comporte pas mal d'anomalies dans tes formules comme tes plages nommées apparemment inutiles que l'on ne peut pas supprimer.
    je refais ce fichier
    0
    1. tictac847
       
      OK, super,

      Je n'ai que des notions de base en VB donc je travail surtout en système D, avec le peu de
      formules que je maitrise. Ca n'est donc jamais très propres ni rapide.
      En tous cas, merci Mike j'apprécie vraiment l'effort.
      0
    2. tictac847
       
      Salut Mike,
      Ca avance ?
      Tu veux me déléguer les tâches de nettoyage, si ça peut te soulager.
      Tu peux me donner les grandes lignes et je me charge du reste.
      Pour info j'ai rajouter un planning à mon fichier si tu veux jeter un coup
      d'oeil, j'ai eu des petits soucis, donc j'ai poster une autre question sur le forum.

      http://www.commentcamarche.net/forum/affich-23368861-reprendre-texte-valeur-cellule-excel#

      Merci
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Avec ce beau temps je regarde en pointillé ton fichier mais je ne t'oublie pas, regarde ce que cela peut donner sur le fichier joint.

    J'ai refait ton fichier et modifié tes macros (il me reste à regrouper tes variables et les uniformiser)
    que veux tu afficher avec le bouton CALENDRIER sur les feuilles clients !
    Colonne AV que veux tu calculer et en fonction de quel critère !

    J'ai changé le fichier, teste plutot ce dernier

    https://www.cjoint.com/?AJoxvfhPNtM

    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
    1. tictac847
       
      Bonjour Mike,

      Desolé pour le silence radio.
      Juste un petit message pour te remercier.
      J'ai finalement finis mon fichier et travail avec depuis un moment sans aucun bug.
      je n'y serais pas arriver sans ton aide. merci pour tt. bonne continuation.
      0
  7. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Je ne sais plus si je te l'ai dit, deux onglets ("Model Planning", "Model Client") ne sont pas masquées mais invisibles, ce sont ces feuilles vierges que le code duplique. si tu as à les modifier, remplace la macro AfficherTout par ce code. J'ai ajouté une ligne pour les afficher il suffit simplement d'isoler cette ligne Sheets(x).Visible = xlVeryHidden en mettant une apostrophe devant la ligne et en supprimant l'apostrophe devant cette ligne
    'Sheets(x).Visible = True
    ne pas oublier de rétablir

    Sub AfficherTout()
    '---------------------------- code affiche toutes les feuilles
    'Dim n As Integer
    Application.ScreenUpdating = False
    For n = Sheets.Count To 1 Step -1
    If Sheets(n).Name <> ActiveSheet.Name Then
    Sheets(n).Visible = True
    End If
    Next
    For Each x In Array("Model Planning", "Model Client")
    Sheets(x).Visible = xlVeryHidden 'onglet "Model Planning", "Model Client" sont invisible,
    'Sheets(x).Visible = True 'pour affichage remplacer xlVeryHidden par True ou liberer cette ligne
    Next x
    Application.ScreenUpdating = True
    End Sub

    Je passe le statut de la discussion en résolu et n'hésite pas de revenir sur le forum
    cordialement
    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0