Macro: recherche sur 2 colonnes permutables

Bonsoir à tous,

Je cherche à simplifier drastiquement un système de recherche intuitif sur 2 colonnes permutables :

  • D’une part : recherche par libellé (désignation) avec indication de sa référence
  • D’autre part : recherche par référence, avec indication du libellé
(Ceci, afin de vérifier visuellement le bien-fondé de la saisie de recherche)

Le tout servi par un hypertexte à rallonge qui sélectionne plusieurs cellules de la ligne cherchée.

J’ai construit une usine à gaz pour ce faire, mais avec pléthore de formules.

Pour simplifier tout ce fatras, je ne vois qu’une solution : VBA mais… j’sais pas faire !

Le « cahier des charges » que je me suis fixé :

  • Conserver le lien coûte que coûte, en cas de changement de nom de fichier ou de feuille,
  • Pouvoir utiliser le lien sur plusieurs feuilles (actuellement, il est recopié et adapté pour chacune)
  • Minimiser son encombrement sur la feuille, bien que toujours visible et accessible sans ascenseur,
  • Utiliser un emploi simple et intuitif pour une bande de « chats noirs » de l’informatique,
dont je suis le roi,
  • Présenter un rendu visuel de résultat « perçant »,
  • Sécuriser au maximum contre le « sabotage » involontaire de cette pelote de patience.
  • Question subsidiaire : existe-t-il un moyen de conserver l’historique de saisies pour retour arrière
(en cas d’erreur) si la macro de recherche est activée ?

Cet inventaire porte sur plus de 25 000 références réparties sur 10 feuilles (minimum) et, cerise sur le

gâteau, les fournisseurs fabriquent un même produit sous plusieurs références (changement d’emballage).

Le fichier sera toujours classé par ordre de référence alphanumérique, sauf erreur.

En voici une feuille simplifiée, les autres seraient sur le même plan, en longueur différentes (maxi : 3 500 lignes)

Je remercie par avance tous ceux et celles qui m’apporteront leur réponse.

Cordialement

axion

PS : nom automatique du fichier en S1, nom de la feuille en S2, sources horiz. de listes en Z1 et Z2

Feuille verrouillée, sans mdp

Bonjour,

Un début de proposition, à toi de voir si cette direction t'intéresse.

Saisir dans les textbox en B7 et/ou C7, les produits sont filtrés au fur et à mesure de la saisie.

Conserver le lien coûte que coûte, en cas de changement de nom de fichier ou de feuille,

Pas bien compris ce que tu voulais en faire.

Si c'est pour sélectionner la ligne cliquer sur la ref choisie.

Pour l'historique pas bien compris non plus. Vu que pour l'instant tu n'expliques rien du fonctionnement après, il n'y a rien à rétablir.

eric

Bonjour Eriiic,

Ta proposition est bien élégante !

l'historique de saisies est parfois bien utile lorsqu'une erreur de saisie a engendré une mauvaise direction pour celles à la suite.

dans ce cas, quelques retours suffisent à récupérer la position de départ et repartir vers la bonne direction.

le lien hypertexte, très fragile, ne supportait pas les modifs de nom ou de feuille.

avec une macro, plus de problème.

une question encore :

comment sortir de la sélection globale pour saisir en col B si une ligne est rajoutée ?

j'ai longtemps hésité à distribuer des crayons et des gommes, non pas par risque d'écriture sur l'écran, mais parce que certains ne louperont pas la col A pour y placer la Ref. la col A reste utile pour d'autres appli

Je te remercie de ta réponse

Cordialement

axion

Bonjour,

Décidément j'ai du mal à te comprendre. Essaie d'être plus précis dans tes demandes.

Que désires-tu historiser ?

Le filtre utilisé ? Plus précisément la référence et le libellé sélectionnés (donc la ligne) ? Les valeurs avant modif dans une colonne ?

comment sortir de la sélection globale pour saisir en col B si une ligne est rajoutée ?

Je ne vois pas ce que tu veux. Tu peux insérer une ligne même si un filtre est appliqué, et tu as un bouton raz pour supprimer les filtres.

eric

Bonsoir Eriiic, le forum,

j'appelle historique des saisies : la succession de saisies gardée en mémoire par le programme

(voir en pièce 3) les flèches AR & AV permettent de revenir sur les saisies précédentes (une centaine env.)

Lors d'un déclenchement de macro, ces icônes deviennent inactives.

Il est donc impossible de revenir sur une saisie précédente pour une rectification.

Quant au problème de sélection, il s'avère impossible de saisir en col B

Dès sélection en Col B, l'ensemble Ax:Mx est activé et seule Ax est accessible

que le RAZ soit activé ou non

le problème disparaît si la sélection est en Col C ou autre.

(voir en pièce 1 et 2)

Merci encore de ton attention

Cordialement

axion

PS: il semble que ce soit cette dernière macro (sélection A:M) qui serait à supprimer ?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column <= 2 And Target.Row > 7 Then Cells(Target.Row, 1).Resize(, 13).Select

End Sub

copie ecran invent 3 copie ecran invent 1 copie ecran invent 2

Quant au problème de sélection, il s'avère impossible de saisir en col B

Dès sélection en Col B, l'ensemble Ax:Mx est activé et seule Ax est accessible

Ah ok.

C'est bien les lignes que tu cites qui en sont la cause.

Je ne le ai mises que pour faire comme dans l'exemple que tu as fourni. Si la sélection n'est pas nécessaire tu peux supprimer oui.

Ou bien If Target.Column = 1 pour ne faire la sélection que sur un clic en A.

(voir en pièce 3) les flèches AR & AV permettent de revenir sur les saisies précédentes (une centaine env.)

?????????????? De quoi tu parles ?

Bonsoir, Eriiic

Je te remercie de ta promptitude !

c'est donc rectifié et celà convient tout à fait Merci encore !

il s'agit des icônes sur l'image 3 (en haut, sur mon post précédent)

c'est la liste des retours sur saisies précédentes (ou annulations)

la liste des saisies précédentes (en image 4) disparaît dès activation de macro

comment la conserver active ???

Je et souhaite une très bonne soirée

Cordialement

axion

image 4

Bonjour,

L'exécution de macro entraîne la perte de cet historique. C'est géré par excel, on ne peut rien y faire.

Tu peux activer le suivi des modifications dans le ruban Révision, et ensuite demander l'affichage dans une feuille (choisir la date depuis le ou tous ou ...).

eric

Bonjour Eriiic,

Merci de ta réponse

c'est bien ce que je constatais et j'envisageais de passer par ce moyen (Révision - Suivi des modifications)

mais celà reste fastidieux aux néophytes et obligerait une intervention de tierce personne à chaque erreur

une solution par macro serait la bienvenue.

Dois-je créer un nouveau post pour cette question ?

quoi qu'il en soit, je te renouvelle mes sincères remerciements

Cordialement

axion

Essai historisation dans commentaire.

Voir explication dans le fichier, à tester...

eric

Edit: nouvelle version page suivante

nouvelle version avec possibilité de restaurer par un clic-droit sur cellule.

eric

7historique.zip (59.53 Ko)

Bonsoir, Eriiic

GÉNIAL ! ... tout bonnement EXCELLENT !

Je garde les deux versions, que j'adapterai selon la colonne.

Je vais proposer et verrai bien quelle version sera préférée.

Je te remercie mille fois de ton dévouement et de ta patience

Avec toute ma gratitude et celle de mes petits "chats noirs"

Cordialement

axion

Dernières modif :

  • fiabilisation
  • formules non historisées
  • restauration par double-clic optionnel
  • valeurs plus lisibles dans commentaire
eric

14historique.zip (61.48 Ko)

Bonjour Eriiic, le Forum,

Quelle passion ! De plus en plus fort !...

j'acquiers la certitude qu'une question anodine génère le plus hard des challenges.

Je suis donc convaincu d'avoir pour cible le VBA d'Excel, afin de ne pas mourir idiot.

Je te renouvelle tous mes remerciements et ma reconnaissance

en te souhaitant une excellente journée,

Cordialement

axion

Rechercher des sujets similaires à "macro recherche colonnes permutables"