Aide sur un lien
ci joint mon fichier simplifié pour comprendre ce que je recherche
https://www.excel-pratique.com/~files/doc/lien.xls
sur ma feuille 1, ce sont mes donénes source, c'est sur cette page que sont modifiées les donénes
sur ma feuille 2, on reprend les info de la feuille 1 grace au code sélectionné mais on en peut pas modifier les informations, il faut aller sur la feuille 1.
Je souhaiterais donc avoir un lien sur par exemple sur le nom de la feuille2 qui me renvoie vers la feuille 1 et sur la bonne personne, c'est à dire que si je suis sur le code 2, nom : durand ca me renvoie sur la feuille 1 et sur le nom durand.
J'espère que mes explications sont compréhensible.
Merci.
Bonjour,
en fait ton pb est le même que le fil https://www.excel-pratique.com/forum/viewtopic.php?t=1986.
En adaptant la macro sur ton fichier --> https://www.excel-pratique.com/~files/doc/lien_V2.xls
Ta feuille 2 doit être déprotégée.
A te lire
Dan
EDITION : en relisant ta demande, la solution que je te propose ne fait pas tout à fait ce que tu demandes. En fait si tu cliques sur le nom en cellule B3, cela te renvoie vers la feuille 1. Je n'utilise donc pas la liste déroulante comme demandé.
Toutefois, cela me semble plus pratique puisque tu peux au moins visualiser les données dans la feuille 2 et choisir le moment pour retourner sur la feuille 1.
A te lire
Dan
merci Nad-Dan
ta solution me convient tout à fait.
Par contre j'aimerai comprendre comment cette macro fonctionne, car l'exemple que je proposais était très réduit par rapport à la vrai version. Donc en fait je voudrais pouvoir réaliser ce genre de macro à une trentaine de cellule de la feuile 2 qui me renverrait vers des cellules de la feuille 1 !!!
je pousse le bouchon un peu trop loin peut etre !!!
c'est vraiment super ce qu'on peut faire avec les macros, dommage que je ne maitrise pas ce langage !!! peut etre un futur cours sur ce site...
encore merci.
re,
Oui et bien là il faut tout changer en fait.
Peux tu me dire où se trouve les trentes cellules et surtout comment cela est diposé.
Exemple: si tu mets le prénom chaque fois en dessous du nom c'est plus compliqué à faire que de mettre le nom en colonne B et le prénom en colonne C.
Autre chose, est-il possible d'avoir des doublons dans les noms ?
Donne moi un maximum d'explications sur ce que tu veux faire.
A te lire
Dan
ok Nad-Dan
Le fichier sert à l'inscription d'enfant dans des colonies de vacances. il est au boulot donc je ne l'ai pas sur moi là.
On a donc les info sur les parents, sur les enfants (Colonne A : Nom, colonne B: Prénom. 1...prénom 2..), les revenus des parents, les aides accordées par divers organismes, le tarif final...tout ça entre la colonne A et al colonne AE de mémoire
la colonne A correspond au nom des parenst et le tri se fait par rapoort à ça.
il y a au maximum 60 noms
ensuite sur ma feuille 2, c'est un récapitulatif des info de la feuille 1 suivant le nom séléctionner, c'est à dire si je selectionne dans le menu déroulant le nom BERTRAND, j'ai toutes ses infos qui apparaissent (adresse, ville, prix, aides diverses...)
cette feuille 2 est protégée car la personne qui va se servir de ce fichier supprime souvent des formules sans le faire exprès !!!
le but, c'est quand on est sur la feuille 2 et qu'on a le récap de la personne, si on voit qu'une info est erronée, on clique sur cette info qui nous rebascule sur la feuille 1, à l'endroit où figure l'info pour qu'on puisse la modifier.
Il n'y a pas de doublons de noms.
Si tu veux bien m'aider à l'avenir, j'aurai pas mal de chose à te demander sur ce fichier(imprimer en une seule fois la feuille 2 pour tous les noms possibles...)
encore un grand merci.
Re,
Pourquoi n'utiliserais-tu pas le filtre automatique sur ta feuille 1 ?
Ou un formulaire ?
https://www.excel-pratique.com/~files/doc/lien_V2_1.xls
Nad
Salut Nad-Dan
ce qui est bien avec toi c'est que tu nous fait toujours découvrir de nouveaux trucs sur Excel !!!
comment tu fais pour obtenir ce formulaire là ? J'ai jamais vu ça, lol.
il pourrait me convenir je pense d'une certaine façon, je vais y réfléchir et je te tiens au courant. Le filtre automatique va être difficilement réalisable sur mon fichier. où est ce que je peux te l'envoyer pour te montrer à quoi ça ressemble ?
Encore un grand merci.
Re,
Merci pour le compliment.
Pour voir le formulaire c'est simple :
- positionne toi dans le tableau puis tu fais menu/données/formulaire (ou "grille" selon les versions d'excel).
Concernant le fichier, pourquoi ne le mets tu pas ici ?
Amicalement
Dan
j'ai supprimé les infos confidentielles et j'ai remplacé par 5 noms de famille fictifs.
https://www.excel-pratique.com/~files/doc/Copie_de_COLO_GB_0707.zip
la feuille "données" est la feuille où sont saisies les données, c'est uniquement sur cette feuille que peuvent être modifiées les données.
lla feuille "fiche inscription" ou la feuille "facture famille" reprennent les infos de la feuille "données"
ce que je souhaite, c'est lorque je suis sur la fiche inscription de l'enfant DURAND, si je vois qu'une info est erronée (par exemple le revenu net fiscal des parents), je puisse le modifier... en évitant de retourner manuellement sur ma feuille "données". c'est pour ça que je cherchais un lien, ou un formulaire ou autres...
Merci
j'ai oublié de préciser que le mot de passe est :
DOUG
Bonjour,
Pas mal ton fichier.
Je pense que ce n'est pas une bonne idée de vouloir modifier directement à partir de la feuille Fiche inscription car là tu as pas mal de formules que tu risquerais d'écraser.
La macro que je te proposais hier te permettrait en cliquant sur la donnée à changer d'être renvoyé sur ta feuille "données" là où se trouve la donnée à modifier.
Ce que tu dois me préciser ce sont toutes les cellules qui sont suceptibles d'être modifiée.
De là on complète la macro commencée..
Autre solution créer un bouton MODIFIER qui te renverrai sur la feuille "données".
Merci de ton avis
Dan
j'ai regardé ta macro pour essayer de la comprendre
je ne comprend pas tout mais je suis arrivé à obtenir ce que je voulais, pour chaque cellule susceptible d'être modifiée, j'ai mis ta macro de cette façon (pour nom et prénom) :
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Macro par Dan & Nad pour gouffas pour excel pratique
On Error Resume Next
If Application.Intersect(Target, Range("B6")) Is Nothing Then GoTo 0
Sheets("Données").Select
ActiveSheet.Cells.Find(What:=Target).Activate
0
If Application.Intersect(Target, Range("F6")) Is Nothing Then End
Sheets("Données").Select
ActiveSheet.Cells.Find(What:=Target).Activate
End Sub
si c'est comme ça que je dois faire, je vais la continuer pour chaque élément qui peut etre modifié (tout est modifiable)
Tu peux m'expliquer ce que veux dire ta macro, je comprend un peu mais pas tout.
je me commande le bouquin vba pour excel pour els nul pour apprendre les macro, ca va me servir je pense.
Merci
j'ai commencé à continuer la macro mais j'ai des problèmes :
quand je veux modifier une valeur (montant bons caf qui est le meme pour tous) ca ne me renvoie pas vers la bonne personne. Pareil si la donnée est égale à 0...
on doit etre sur la bonne voie mais mes limites en macro me font défaux là !!!
c'est dommage, c'était pas mal comme ça.
sinon est ce possible d'avoir un bouton d'appel formulaire (comme tu avais fait hier) sur la feuille "fiche inscription" mais qui nous donne les infos qui sont sur la feuille "donnée" et si possible directement sur la bonne personne ? (j'abuse peut etre là !!!)
merci Nad-Dan
re,
1. explication de la macro :
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Macro par Dan & Nad pour gouffas pour excel pratique
On Error Resume Next
'en cas d'erreur on passe à l'instruction suivante[/color]
If Application.Intersect(Target, Range("B6")) Is Nothing Then End
'si la cellule sur laquelle tu cliques correspond à B6
Sheets("Données").Select
'slection de la feuille Données
ActiveSheet.Cells.Find(What:=Target).Activate
'on cherche dans la feuille active la valeur de la cellule sur laquelle tu as cliqué[/color]
End Sub2.
quand je veux modifier une valeur (montant bons caf qui est le meme pour tous) ca ne me renvoie pas vers la bonne personne. Pareil si la donnée est égale à 0...
Pourquoi ne cliques tu pas directement sur le nom dont les données sont à modifier. Si tu cliques sur un montant cela peut te renvoyer vers un montant qui existe déjà en feuille "données"
Sinon il faut dire à la macro que quelque soit le click sur ta feuille "Fiche inscription", on utilise toujours B6 comme valeur de recherche. Cela me parait plus compliqué mais est-ce cela que tu veux ?
3. Pour appeler le formulaire via un bouton :
- Mets cette macro dans un module
Sub modifier()
'Macro par Dan pour Beuret - Excel pratique
Dim x As String
x = Sheets("Fiche inscription").Range("B6")
Sheets("données").Select
ActiveSheet.Cells.Find(What:=x).Activate
ActiveSheet.ShowDataForm 'appel du formulaire
End Sub- Place le bouton en feuille fichie inscription
- Clique droite sur le bouton et là choisis "affecter à une macro"
- Choisis ta macro puis OK
Si tu as un bug cela peut venir du pb de tes colonnes et lignes cachées ou de cellules fusionnées. Plus simple ta base de données sera plus tu auras facile utiliser le formulaire.
Autre possibilité c'est de passe par USERFORM, mais là cela devient encore plus de programmation et l'appli sera plus compliquée.
A te lire
Dan
salut Nad-Dan
t'es sympa de te casser la tête pour mon problème.
J'ai réfléchi et je pense que le mieux serait :
en étant sur la fiche inscription, quand on clique sur une valeur qu'on veut modifier, ca nous renvoie vers la bonne cellule de la feuille donnée avec comme valeur de recherche B6 (nom des parents). Malheureusement je pense que ca va être compliquée.
Je ne sais pas ce qu'on peut faire avec les macro mais il faudrait faire une macro (si c'est possible) qui fasse ceci :
recherche de la valeur B6 dans la feuille donnée (pas de doublons possible)
à partir de là, décaler de x colonnes
bien sur ça doit être plus facile à dire qu'à faire !!!
Re,
Tout est toujours possible. Je t'explique :
1. Dans la fiche d'inscription, il faut déterminer les cellules qui sont susceptibles d'être modifiées et qu'elles soient figées dans la feuille "données"
2. A partir de là savoir où se trouve (quelle colonne) cette valeur dans la feuille "données" et ce, pour le nom du parent placé en B6. D'où on doit au minimum connaitre la référence de la cellule où est placée cette valeur dans la fiche d'inscription.
Comme je te le disais avant, il faudrait savoir quelles sont toutes les cellules modifiables dans la fiche inscription.
Une solution facile serait comme je te le disais de faire en sorte que lorsque tu cliques sur B6 (ou même une cellule modifiable à définir) de t'envoyer sur la feuille données et d'ouvrir la boite formulaire. Mais là tu dois changer les titres dans la feuille données de manière à avoir sur une ligne (exemple sur la ligne 4) tous les titres et surtout pas de cellules fusionnées. Sinon le formulaire refusera de s'afficher.
Autre solution mais à analyser, on se sert de la fiche inscription pour encoder toutes les données mais aussi pour les modifier. A chaque encodage ou modification, on réexporte les données vers la feuille données. Là cela change pas mal de choses car tes formules dans ta feuille Inscription ne sont plus d'utilité.
A te lire
Dan
salut,
si on reprend ta dernière proposition, et là ce serait impeccable, si on modifie la feuille donnée, ca modifie la feuille fiche inscription et inverse, mais je ne voie pas comemnt ca serait possible. En tous cas c'est le résultat que je souhaiterais obtenir.
si j'étais le seul à me servir de ce fichier, ça irait mais malheuresement il va être utilisé par 4 ou 5 personnes qui ont le chic d'effacer des formules et de foutre en l'air le fichier !!!
merci
BEURET a écrit :salut,
si on reprend ta dernière proposition, et là ce serait impeccable, si on modifie la feuille donnée, ca modifie la feuille fiche inscription et inverse, mais je ne voie pas comemnt ca serait possible. En tous cas c'est le résultat que je souhaiterais obtenir.
si j'étais le seul à me servir de ce fichier, ça irait mais malheuresement il va être utilisé par 4 ou 5 personnes qui ont le chic d'effacer des formules et de foutre en l'air le fichier !!!
merci
Bonjour,
Non, la dernière proposition est que la feuille DONNEES soit alimentée par la feuille INSCRIPTION. En aucun cas on ne pourrait modifier les infos directement dans la feuille DONNEES.
Pour la proposition du formulaire, outre le problème des titres comme de l'a expliqué Dan, un autre soucis : tu as trop de colonnes (67) ; le formulaire accepte une trentaine de champs.
Nad
Re,
si j'étais le seul à me servir de ce fichier, ça irait mais malheuresement il va être utilisé par 4 ou 5 personnes qui ont le chic d'effacer des formules et de foutre en l'air le fichier !!!
Si tu veux en cas de clique sur une cellule (sauf sur B6) dans la feuille FICHE INSCRIPTION, on fait apparaitre une boite à message qui dit que la modification doit se faire dans la feuille DONNEES et on invite l'utilsateur à se rendre sur la feuille DONNEES pour modifier.
Seul le mot de passe permet de changer la fiche d'inscription qui devient en quelque sorte une fiche de consultation.
A te lire
Dan