Menu déroulant et ouverture fichier Excel
Résolu
scarabee10
-
scarabee10 -
scarabee10 -
Bonjour,
Je reformule un problème qui n'a pas eu beaucoup de succès auparavant. J'ai un tableau d'évaluation annuel, dont les cases doivent être redirigés vers les évaluations correspondantes (d'autres fichiers Excel). Exemple :
Je clique sur une cellule vierge du tableau, j'aimerais atterir sur un menu déroulant me demandant de chosir parmi une liste de fichiers (plusieurs types d'évaluation). Une fois le choix validée, le fichier en question s'ouvre, l'accompagnateur remplit sa fiche et clique sur un bouton Save sur la feuille.
Ce bouton Save doit être l'équivalent d'un "Enregistrer Sous" mais qui renomme le fichier en fonction du nom de l'accompagnateur, de l'accompagné et de la date, infos récupérables sur la même feuille.
Une fois le fichier enregistré, le texte dans le lien hypertexte de la case initiale (dans le tableau, vous suivez toujours ? ) doit contenir la date de l'évaluation, récupérable soit du fichier en lui même soit de son nom. Mais là ça dépend de ce qui est faisable ou pas.
Comment coder tout cela ?
J'attends vos réponses/suggestions avec enthousiasme.
Cordialement
Je reformule un problème qui n'a pas eu beaucoup de succès auparavant. J'ai un tableau d'évaluation annuel, dont les cases doivent être redirigés vers les évaluations correspondantes (d'autres fichiers Excel). Exemple :
Je clique sur une cellule vierge du tableau, j'aimerais atterir sur un menu déroulant me demandant de chosir parmi une liste de fichiers (plusieurs types d'évaluation). Une fois le choix validée, le fichier en question s'ouvre, l'accompagnateur remplit sa fiche et clique sur un bouton Save sur la feuille.
Ce bouton Save doit être l'équivalent d'un "Enregistrer Sous" mais qui renomme le fichier en fonction du nom de l'accompagnateur, de l'accompagné et de la date, infos récupérables sur la même feuille.
Une fois le fichier enregistré, le texte dans le lien hypertexte de la case initiale (dans le tableau, vous suivez toujours ? ) doit contenir la date de l'évaluation, récupérable soit du fichier en lui même soit de son nom. Mais là ça dépend de ce qui est faisable ou pas.
Comment coder tout cela ?
J'attends vos réponses/suggestions avec enthousiasme.
Cordialement
A voir également:
- Menu déroulant et ouverture fichier Excel
- Menu déroulant excel - Guide
- Fichier bin - Guide
- Fichier epub - Guide
- Word et excel gratuit - Guide
- Fichier rar - Guide
2 réponses
Bonjour,
Là tu nous en demandes beaucoup...
Bon commençons par le commencement. Voici un classeur exemple le processus :
1- Tu va ouvrir un nouveau classeur excel et l'enregistrer sous "Evaluations annuelles.xls"
2- Dans ce classeur, à l'aide de la barre d'outils : "Boîte à outils contrôles" tu va dessiner dans la feuille "Feuil1" :
- 1 zone de liste déroulante
- 1 bouton de commande
3- clic droit sur le bouton de commande/Objet bouton de commande/Editions ; renomme le "Charger liste" puis clic gauche n'importe ou dans la feuille.
4- double clic sur le bouton, une fenêtre Visual Basic s'ouvre avec ces deux lignes de code :
inscrire entre ces deux lignes le code pour obtenir :
En dessous du End Sub de ce code copier/ coller celui ci :
5- Fermer la fenêtre Visual Basic.
6- Dans la barre d'outils Boîte à outils contrôles cliquer sur Désactiver le mode création enregistrer le fichier.
7- En A1 de cette même feuille écris : "Chemin :"
en B1 tu écriras le chemin d'accès du répertoire contenant toutes tes fiches. [Il est important que toutes soient situées dans le même répertoire]
exemple de chemin d'accès : C:\Mes Documents\Travail\Evaluations
8- Cliquer sur le bouton "Charger liste" et tester en faisant un choix dans la liste déroulante
Là tu nous en demandes beaucoup...
Bon commençons par le commencement. Voici un classeur exemple le processus :
1- Tu va ouvrir un nouveau classeur excel et l'enregistrer sous "Evaluations annuelles.xls"
2- Dans ce classeur, à l'aide de la barre d'outils : "Boîte à outils contrôles" tu va dessiner dans la feuille "Feuil1" :
- 1 zone de liste déroulante
- 1 bouton de commande
3- clic droit sur le bouton de commande/Objet bouton de commande/Editions ; renomme le "Charger liste" puis clic gauche n'importe ou dans la feuille.
4- double clic sur le bouton, une fenêtre Visual Basic s'ouvre avec ces deux lignes de code :
Private Sub CommandButton1_Click() End Sub
inscrire entre ces deux lignes le code pour obtenir :
Private Sub CommandButton1_Click() 'http://www.commentcamarche.net/faq/16109-excel-convertir-fichier-s-csv-xls#lire-tout-les-fichiers-du-repertoir-specifie Dim fs, F, f1, s, sf ComboBox1.Clear Dim Chemin As String Chemin = Range("B1").Value Set fs = CreateObject("Scripting.FileSystemObject") Set F = fs.GetFolder(Chemin) Set sf = F.Files For Each f1 In sf ComboBox1.AddItem f1.Name Next End Sub
En dessous du End Sub de ce code copier/ coller celui ci :
Private Sub ComboBox1_Change() Dim Chemin, Nomfic, fichier As String Chemin = Sheets("Feuil1").Range("B1").Value If ComboBox1.Value = "" Then Exit Sub Nomfic = ComboBox1.Value fichier = Chemin & "\" & Nomfic Workbooks.Open fichier End Sub
5- Fermer la fenêtre Visual Basic.
6- Dans la barre d'outils Boîte à outils contrôles cliquer sur Désactiver le mode création enregistrer le fichier.
7- En A1 de cette même feuille écris : "Chemin :"
en B1 tu écriras le chemin d'accès du répertoire contenant toutes tes fiches. [Il est important que toutes soient situées dans le même répertoire]
exemple de chemin d'accès : C:\Mes Documents\Travail\Evaluations
8- Cliquer sur le bouton "Charger liste" et tester en faisant un choix dans la liste déroulante
Merci pikaku, ça fonctionne parfaitement. J'ai simplifié mon idée, j'ai mis en dessous du tableau une seule liste déroulante pour saisir une nouvelle fiche.
Maitenant il me reste à créer le bouton de sauvegarde sur chaque fiche, et en fonction du nom de l'accompagnateur, du nom de l'agent et de la date, créer le lien hypertexte correspondant dans la case correspondante du tableau. Je sens que ça va être casse tête !
J'ai déjà mis un bouton "Save" qui enregistre sous, mais il me faut rajouter du code pour récupérer automatiquement les infos à mettre dans le nom. Idem pour le lien hypertexte sauf que là il faut aller chercher les infos dans un autre fichier Excel (le tout dans le même dossier bien sûr).
Des idées ?
Merci d'avance.
Maitenant il me reste à créer le bouton de sauvegarde sur chaque fiche, et en fonction du nom de l'accompagnateur, du nom de l'agent et de la date, créer le lien hypertexte correspondant dans la case correspondante du tableau. Je sens que ça va être casse tête !
J'ai déjà mis un bouton "Save" qui enregistre sous, mais il me faut rajouter du code pour récupérer automatiquement les infos à mettre dans le nom. Idem pour le lien hypertexte sauf que là il faut aller chercher les infos dans un autre fichier Excel (le tout dans le même dossier bien sûr).
Des idées ?
Merci d'avance.
Pour le bouton save, une piste consiste à créer un userform.
https://www.cjoint.com/?hupn5iD4Qi
pour le reste, dans l'idéal, il faudrait que tu nous communique une copie de ton classeur sans données confidentielles avec https://www.cjoint.com/ par exemple
https://www.cjoint.com/?hupn5iD4Qi
pour le reste, dans l'idéal, il faudrait que tu nous communique une copie de ton classeur sans données confidentielles avec https://www.cjoint.com/ par exemple
Je n'ai pas bien compris l'utilité du userform. Je vous joins mon tableau, toute remarque est la bienvenue, et surtout comment je pourrais réaliser ce que j'ai décris plus haut :)
Lien: https://www.cjoint.com/?hupASGtrmD
Merci.
Lien: https://www.cjoint.com/?hupASGtrmD
Merci.