Liste en cascade en VBA

majidbxl

XLDnaute Nouveau
Bonjour à tous,

J'ai cherché mais n'ai pas trouvé mon bonheur!
Alors voilà, j'importe dans Excel une Query Access, j'aimerais dans cette feuille qui est rajouté automatiquement ("BO") avoir à la fin de chaque ligne une liste déroulante puis une deuxième à côté en cascade.

Je connais assez bien le système Indirect mais il ne me va pas dans ce cas-ci, car je lie l'importation des données à un bouton, il efface d'abord l'ancienne sheet puis en créee une nouvelle (par VBA), j'aimerais donc pouvoir dans le même temps rajouter directement les listes à la fin!

Si ce n'est pas compréhensible, dites le moi et par avance merci!
 

majidbxl

XLDnaute Nouveau
Re : Liste en cascade en VBA

bonjour majidbxl

Ce n'est pas franchement incomprehensible ,mais disons que cela irait nettement mieux avec un fichier exemple (quelques lignes suffisent) et , pourquoi pas , la macro dont tu fait etat


Bonjour Pierrejean,

Tout d'abord, merci de prendre un peu de ton temps pour mon problème!
Voici le fichier sur lequel je travaille, en fait j'aimerais ajouter a la fin de chaque ligne de la feuille BO (importer d'Access), deux listes déroulantes, qui ont leurs sources sur la feuille TABLE.
 

Pièces jointes

  • Xeno Queries 3.zip
    21 KB · Affichages: 35
  • Xeno Queries 3.zip
    21 KB · Affichages: 40
  • Xeno Queries 3.zip
    21 KB · Affichages: 40

majidbxl

XLDnaute Nouveau
Re : Liste en cascade en VBA

Salut PierreJean,

Ce n'est pas indiscret de demander, il faut mettre la colonne 1st et la colonne 2nd, en fait j'aimerais que les éléments de la colonnes 3rd se rajoute directement vu qu'il n'y a pas de choix, peut être en utilisant un vlookup qu'en penses tu?
 

pierrejean

XLDnaute Barbatruc
Re : Liste en cascade en VBA

Re
Toujours dans le brouillard moi !!
vu qu'il n'y a pas de choix
Je veux bien faire un vlookup , mais sur quel critère ???
Sinon il y a effectivement possiblité de mettre des listes deroulantes
Peux-tu m'eclairer un peu plus ?
 

majidbxl

XLDnaute Nouveau
Re : Liste en cascade en VBA

Re,

Désolé, je me suis mal exprimé.

En fait, dans la feuille BO, j'aimerais insérer automatiquement à la fin de chaque ligne deux listes en cascade, les deux listes trouvent leur source dans la feuille "Table";

Première liste étant la colonne "1st" et la deuxième la colonne "2nd".

Exemple: si on choisit "Finance" dans la première liste, la deuxième ne donnerait comme choix que "Financial hold" ou "Credit limit exceeded" ou Waiting for prepayment" ou alors "Waiting for L/C"

et enfin le code qui se trouve dans la colonne ""3rd" s'insérerait automatiquement à la fin de la ligne toujours dans la feuille "BO".

le problème est qu'il faut que ce soit fait je pense en VBA car la feuille BO peut avoir 100 lignes comme 220 lignes dépendant du nombre de données extrait d'Access.

Est ce plus clair?
 

pierrejean

XLDnaute Barbatruc
Re : Liste en cascade en VBA

Re

Vois si cela te convient

Notes
1)La macro test est a lancer apres l'importation .Elle etablit les listes de validation de la 1ere colonne apres la fin
2)la seconde liste est valide apres choix de la premiere
3)apres choix de la seconde la derniere cellule es renseignée
4) les listes de validation etant susceptibles quant a leur longueur j'ai limité a 20 caracteres les indications de la seconde liste
 

Pièces jointes

  • Xeno Queries 3.zip
    25.5 KB · Affichages: 50
  • Xeno Queries 3.zip
    25.5 KB · Affichages: 49
  • Xeno Queries 3.zip
    25.5 KB · Affichages: 49

majidbxl

XLDnaute Nouveau
Re : Liste en cascade en VBA

Salut PierreJean,

Tout d'abord un tout tout grand merci pour ton aide!

ça marche super bien!

Mais.....il y a souvent un "Mais" :)

En le faisant essayer par des utilisateurs, ils m'ont faire remarqués qu'ils n'était pas possible de faire un copier coller (avec la souris, le glisser), on a un message d'erreur.

En fait, il arrive souvent que plusieurs lignes aient les mêmes causes, ils aimeraient donc pouvoir gagner du temps en copiant les anciennes réponses sans avoir à selectionner pour chaque ligne la raison.

Penses tu qu'il serait possible de remédier à celà

Ps: serait il également possible d'ajouet automatiquement les header (en tête de colonnes) ? car quand je le fais manuellement le code VBA ne fonctionne plus??
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Liste en cascade en VBA

Re

Dans cette version :
Les header sont reportés par formule de la feuille table a la feuille BO (donc modification a faire uniquement en Feuille table)
Il est possible de copier/coller dans la feuille BO des cellules des colonnes P Q R sous reserve de copier plus d'une cellule a la fois
 

Pièces jointes

  • Xeno Queries 3.zip
    26 KB · Affichages: 27
  • Xeno Queries 3.zip
    26 KB · Affichages: 27
  • Xeno Queries 3.zip
    26 KB · Affichages: 27

majidbxl

XLDnaute Nouveau
Re : Liste en cascade en VBA

oupsss je suis de retour, j'espère pour la dernière fois.
Tout marche super bien sauf que lorsque j'ai importé des données quand j'ai voulu inserer la formule pour le premier Header en P1, j'ai un Debug Error, que je n'ai pas avec la cellule Q1 et R1. j'ai essayé de trouver dans le code mais .......je ne vois pas.

J'ai oublié de préciser que j'utilise Excel 2000 peut être cela joue t'il un rôle?
 

pierrejean

XLDnaute Barbatruc
Re : Liste en cascade en VBA

Re
Dans le post precedent , je t'ai signalé que les cellules P1 Q1 R1 n'ont pas a etre modifiée (Elles suivent les cellules A1 B1 C1 de la feuille Table)
Si, par contre , tu as une bonne raison de modifier la formule reviens l'exposer ,il est fort probable que tout soit a revoir !!!
 

majidbxl

XLDnaute Nouveau
Re : Liste en cascade en VBA

Re
Dans le post precedent , je t'ai signalé que les cellules P1 Q1 R1 n'ont pas a etre modifiée (Elles suivent les cellules A1 B1 C1 de la feuille Table)
Si, par contre , tu as une bonne raison de modifier la formule reviens l'exposer ,il est fort probable que tout soit a revoir !!!


Merci pour ta réponse pierrejean,

Mais à chaque fois que j'importe ma base de données, il fait d'abord un clear content avant de mettre les données (voir module 1), peut être dois je changer cela? mais je ne suis pas sûr d'avoir la solution..
 

pierrejean

XLDnaute Barbatruc
Re : Liste en cascade en VBA

Re

Teste cette version

J'ai ajouté ceci dans la macro OpenBO

Code:
     Range("P1").Formula = "=Table!A1"
     Range("Q1").Formula = "=Table!B1"
     Range("R1").Formula = "=Table!C1"
 

Pièces jointes

  • Xeno Queries 3.zip
    26.1 KB · Affichages: 37
  • Xeno Queries 3.zip
    26.1 KB · Affichages: 37
  • Xeno Queries 3.zip
    26.1 KB · Affichages: 39

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 946
Membres
103 989
dernier inscrit
jralonso