Fonction RECHERCHE avec copie d'un lien ?
Bonjour,
Comme d'habitude, un tableur est plus explicite pour exposer une question.
J''ai utilisé RECHERCHE qui m'affiche donc un numéro de département mais j'aimerai qu'il copie en fait le lien qui se trouve dans le tableau de référence....
Est-ce possible ?
Cordialement
Tonthon
Bonjour,
Comme suggéré dans ton autre post, il ne fautplus utiliser une RechercheV, mais passer par du VBA et une macro qui fera un copié-collé de la cellule de l'onglet France, dans la cellule de l'onglet liste nationale pour garder le lien hypertexte.
Cordialement,
Bonjour,
Effectivement un copier/coller résout le problème, je l'ai testé manuellement.
Par contre, j'ai tenté de créer une macro en ce sens ...sans succès !
Si quelqu'un pouvait me créer cette macro... cela me dépannerait bien
Cordialement
Tonthon
A tester pour déclenchement lors d'une saisie de code postal en colonne K (je pars donc du principe que chaque ligne est entrée une à une et pas part importation ou copié-collé)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Dpt As Long
If Not Intersect(Target, Range("K:K")) Is Nothing Then
i = 4
If Len(Target) = 4 Then
Dpt = Left(Target, 1)
Else
Dpt = Left(Target, 2)
End If
Do While Dpt <> Worksheets("France").Range("A" & i).Value
i = i + 1
Loop
Worksheets("France").Range("B" & i).Copy
Worksheets("liste nationale").Cells(Target.Row, Target.Column + 9).Select
ActiveSheet.Paste
With Selection
.HorizontalAlignment = xlCenter
End With
End If
End SubCordialement,
Salut Zirak
Je dois faire état de mon ignorance.... j'ai "installé" me semble-t-il correctement cette macro et fait un essai sans succès.
J'ai sans doute mal fait le test....je te joins le tableur actualisé comme tu me l'avais suggéré sur un autre post : donc j'ai bien maintenant le département/région automatiquement à partir du code postal.
Le challenge serait donc le lien du département.....
Tu pourrais revoir et m'indiquer comment tu procèdes ?
Le fait que cela ne fonctionnera qu'avec les ajouts n'est pas bien grave, bien qu'entendu j'aurai préféré avoir une macro qui balaye le tout.
Cordialement
Tonthon
Bonjour,
Cela ne fonctionne pas car tu n'as pas saisie le code au bon endroit comme il était placé dans mon fichier exemple.
Un évènement Worksheet_Change se place dans le code de la feuille concernée (clique droit sur le nom de l'onglet => visualiser le code)
Voir ton fichier en retour.
Ps: je l'ai fais sur la saisie pour que chaque nouvelle entrée soit modifiée directement, la macro prendra moins de temps à le faire pour une ligne quand il y a une entrée, que en re balayant tout à chaque fois, après si tu prefère un balayage complet déclenché par un bouton, cela peut très bien se faire.
Sachant que pour les lignes déjà existante, il suffit de juste re saisir le code postal (je l'ai fais pour celles de ton fichier).
Cordialement,
Bonjour,
"....Cela ne fonctionne pas car tu n'as pas saisie le code au bon endroit comme il était placé dans mon fichier exemple.
Un évènement Worksheet_Change se place dans le code de la feuille concernée (clique droit sur le nom de l'onglet => visualiser le code)"
Etant 100% néophyte ..... j'avoue ne pas comprendre, je prendrais le temps plus tard pour en savoir plus, j'ai vu qu'il avait des "cours" en ce sens ici.
La bonne nouvelle c'est que cela marche.
Mille merci
Par contre, le clic sur le lien qu'il soit dans le premier feuillet ou dans le second ne créé plus l'ouverture vers la carte de France.....si tu as une idée pour les recréer...
J'ai fait un copier/coller du feuillet d'origine sur dans le tableur et l'ouverture se fait bien.....j
Je recreuse la question et reviendrai ici
Cordialement
Tonthon
Bonjour,
Je pense que quand tu as modififié ton onglet "France" (entre ma version V2 et la version V3) pour rajouter la liste des régions pour la recherche V, tu as du faire une manip genre copié-collé qui a du rater car il n'y a plus aucun lien hypertexte.
Ensuite en feuille 1 on copie les cellules de la feuille 2 donc si les liens ne marchent plus en feuille 2, normal qu'ils ne fonctionnent pas en feuille 1.
Je te remets ma V2 qui a encore les liens si jamais tu ne les a plus, sinon il suffit de les remettre dans le bon fichier car la copie sur la feuille 1 prend bien le lien.
Concernant l'histoire de code au mauvais endroit,
en gros le code vba est construit de cette façon :
Code Feuil1
Code Feuil2
Code Classeur (thisworkbook)
Code UserForm1
Code UserForm2
Code Module1
Code Module2
De base les macros enregistrées par l'assistant d'excel ou par les gens, vont dans un module car comme ça, elles peuvent être "appellées" de n'importe ou dans le fichier. Mais dans certains cas, par exemple si tu veux une macro qui se déclenche lors d'un changement sur la feuille ou lors de son calcul, alors le code sera placé directement dans le code vba de la feuille concernée avec un nom de procédure spécifique.
Mais oui, un cours sera plus explicite et plus efficace que moi
Cordialement
RE-Bonjour Zirak
Merci de t'intéresser à mon cas.
Pour le rétablissement du lien... j'ai solutionné par un nouveau "copier/coller" et tout fonctionne bien.
Le feuillet France est finalisé, parfait nickel-chrome.
J'avance bien dans ma démarche d'optimalisation de mon tableur mais au fur et à mesure apparaissent de nouvelles difficultés.
J'ai joint ma dernière version avec mes points d'interrogation.....souci en cas de suppression d'un code postal.... et voir s'il est possible de remplacer la fonction RECHERCHE pour éviter d'avoir à recopier les formules dans les cellules...en retenant si j'ai bien compris avec "le code vba de la feuille" !
C'est mieux exprimé dans le tableur
Cordialement
Tonthon
re,
J'ai modifié les formules pour l'age et le département sur 2 chiffres pour que si le département ou la date n'est pas saisie, que cela affiche une cellule vide plutôt que les ## ou un age erroné.
J'ai également modifié le code vba pour que quand une cellule de département est supprimée, cela efface le nom du département avec le lien hypertexte.
Cordialement,
Bonjour Zirak
Je suis "ba-ba", tous les soucis d'affichage évoqués sont résolus et il n'y a plus lieu de mettre une zone "limite de saisie".
Quoi dire ? Merci, tu me fais progresser à pas de géant dans ce tableur, quel gain de temps.
C'est certain que la maitrise VBA ouvre un horizon qui m'était inconnu....et à apprendre.
Je m'accorde la journée mais à priori, je pense pouvoir mettre "résolu" sur ce post.
Excellente journée
Tonthon
Bonjour Zirak
J'ai fait une pause avec ce tableur et je viens de le reprendre pour y introduire les données personnelles des adhérents par un copier/coller.
Il apparait un souci entre le tableur proposé ici et le réel, le nombre de colonnes sont différent.
Dès que le code postal n'est plus en K, le résultat est FAUX et le lien par contre reste en T
J'ai mis un nouveau tableur ici en exposant le souci.
Si quelqu'un pouvait le résoudre.
Merci d'avance,
Cordialement
Tonthon
Bonjour,
SI tu as changé ta colonne de code postal, il suffit de remplacer la lettre K dans le code fourni par la lettre ou se trouve ta colonne de code postal. Si tu veux le résultat ailleurs qu'en colonne T, idem, il suffit de changer la colonne dans le code en remplacant T par la lettre souhaitée.
Par contre quand je vois ton fichier, avec ton histoire de bloc vert "amovible", cela ne marchera pas, à chaque fois que tu vas le bouger, le code de la macro ne sera plus bon et il faudra le modifier à la main, en dur dans la macro.
Et si tu ajoutes ou supprimes des colonnes c'est normal que cela ne fonctionne plus, car tu decales tes données, il faut choisir ta mise en page et adapter le code avec les bonnes lettres de colonnes en fonction de celle-ci. Mais je vois pas comment faire une macro qui s'auto-change au grès de tes manipulations.
Tant que tu "masques" les colonnes y'a pas de soucis, si tu en ajoutes / supprimes, cela ne va plus.
En gros il faut faire un choix, soit une mise en page "fixe" et une automatisation du remplissage, soit une mise en page inéxistante avec des donnees qui changent de place tout le temps, et alors ca sera une saisie manuelle...
En plus tu as dit que ton fichier était destiné à des utilisateurs, dont certains étaient agés, personnellement, je les vois mal gérer des déplacements de bloc entier de données et de mise en page de tableau avec ton bloc vert la.
Enfin je commence à avoir un peu de mal à saisir le but et la finalité de la chose, cela marchait sur ton fichier de base avec tous les renseignements, je ne vois pas pourquoi tu veux tout modifier avec ton bloc "amovible" ?
Cordialement,
Bonjour
En prenant le fichier de départ, pour la curiosité
Zirak, lorsque tu écris
Comme suggéré dans ton autre post, il ne fautplus utiliser une RechercheV, mais passer par du VBA et une macro
tu es dans l'erreur car Il existe bien une solution par formules (même avec RECHERCHEV)
Avec deux formules nommées Dept et rep, tu peux obtenir le résultat avec la formule LIEN_HYPERTEXTE
Cordialement
Bonjour Amadéus,
Effectivement, m'y connaissant peu en formule, c'est vrai que j'ai tendance à privilégier le vba (même si j'essais de changer un peu la tendance avec ce que j'apprends ici).
En revanche au vu de la formule, je pense que pour quelqu'un de novice, c'est plus facile à mettre un copier-coller en place par du vba (quitte à passer par l'enregistreur de macro) que de réussir à trouver ta formule
Par contre pour le cas présent, c'est vrai que ta solution est meilleur, car s'il insert / supprime des colonnes, les références des cellules suivent, par contre pour l'histoire du bloc vert de données qui se déplacent (cf son dernier fichier) je ne suis pas sûr que cela fonctionne quand même (enfin j'ai peut-être vraiment rien compris à cette histoire de bloc aussi).
Cordialement,
Bonjour,
Je réponds globalement aux 2 fidèles intervenants sur ce post.
Ce n'est pas évident d'exprimer ce que l'on recherche....si je pouvais mettre le tableur réel nominatif des adhérents vous comprendriez mieux.
Quand je parlais de bloc, c'était en fait avoir côte à cote un ensemble comprenant le code postal/le département/le lien hypertexte/le région (de l'association qui est un peu différente des régions administratives....) qui fonctionne tout le temps que j'ajoute des colonnes avant, après et dedans etc....
Si j'ai bien compris
en VBA, il faut mettre à jour le code par la nouvelle colonne à chaque changement
Avec les formules, je peux "torturer" les colonnes en fonction des besoins et cela reste exact....donc plus facile pour moi.
Ceci dit, je vais creuser les solutions VBA qui présentent l'avantage de ne pas à avoir à copier des formules dans les cellules dans certains cas.
Je crois que je peux clore ce post et renouvelant mes remerciements pour votre patience et persévérance.
Cordialement
Tonthon
Bonjour,
L'objet de ce post est résolu donc je le clos.
J'ai d'autres soucis sur mon tableur réel que je préfère reprendre via un nouveau post.
Mille merci pour ces solutions
Tonthon