Corriger bug barre de recherche

Bonjour à tous,

Quelques mots pour me présenter, je suis Anthony, médecin dans une unité de soins palliatifs dans le 13. J'ai hérité au départ de la retraite du "référent informatique" de la gestion de notre gestion documentaire. Nous allons rentrer à la rentrée prochaine en phase de certification (évaluation de notre établissement par l'Agence Régionale de Santé). Pour cette occasion nous souhaitons mettre à jour notre base documentaire.

En pratique, il s'agit d'un document excel (pièce-jointe) constitué de plusieurs pages. Les soignants ouvrent le fichier Excel et peuvent accéder aux différents documents en cliquant, soit sur les rubriques correspondantes, soit en utilisant une barre de recherche.

C'est cette dernière qui me pose problème... Normalement, lorsque je tape un mot clé, cela affiche sur la page "Recherche" l'ensemble des documents qui contiennent le mot clé tapé (que l'on retrouve en colonne P de la feuille Administrateur_saisie). Or, actuellement cela ne fonctionne pas... Je vous avoue ne pas comprendre l'origine de ce dysfonctionnement.

Egalement, la recherche par catégorie (listing dans la feuille "liste déroulante"), l'accès par référent, ainsi que la possibilité de voir tous les documents ne fonctionne pas aussi.

Y aurait-il une personne qui puisse me donner un coup de main ?

Je vous remercie.

Anthony

PS: mot de passe de protection : admin

29index-gdoc.xlsm (504.45 Ko)

Sub Motcle()

Sheets(4).Unprotect ("admin")

Sheets(4).Select

Sheets(4).Range("$A$2").End(xlDown).AutoFilter

'ok

Dim Crit As String

Crit = Sheets(1).Range("O4").Value

Sheets(4).Range("$A$2").End(xlDown).AutoFilter Field:=6, Criteria1:="*" & Crit & "*"

'là où s'effectue la recherche, les étoiles dans les critères permettent de dire qu'avant et après ce qui est tapé on ne connait pas les caractères

Sheets(2).Protect ("admin")

End Sub

9a sa marche mais c'est la colonne 6 soit F qui est triée

Bonjour à tous

@Toukoul >> je ne comprends pas le 9a sa marche ...

ric

ça marche

tÇÇÇ, tÇÇÇ...

Bonsoir @ tous !

Si tout le monde y va de son commentaire : Au début j'ai cru que c'était une nouvelle énigme de Sébastien !

Bon courage pour votre certification !

@ bientôt

LouReeD

Bonjour à tous,

J'ai tenté de modifier la macro en mettant le code suivant :

Sub Motcle()
Sheets(4).Unprotect ("admin")
Sheets(4).Select
Sheets(4).Range("$A$2").End(xlDown).AutoFilter
Dim Crit
Crit = Sheets(1).Range("O4").Value
Sheets(4).Range("$A$2").End(xlDown).AutoFilter Field:=16, Criteria1:="*" & Crit & "*"
Sheets(4).Protect ("admin")
End Sub

Cependant, cela ne fonctionne toujours pas… lorsque je tape un mot clé sur la feuille accueil dans le champ en O4 et que je valide en cliquant sur le bouton OK en Q4, il apparait un message d'erreur de Microsoft Visual Basic pour Applications qui me dit "format de données incorrect".

Je vous avoue ne pas comprendre pourquoi dans le document il existe des macros qui s'appellent "Feuil1.Recherchex" avec un x qui va de la valeur 1 à la valeur 17...

Pouvez-vous m'apporter votre aide ?

Merci d'avance,

Anthony

Je crois avoir compris que les macros Feuil.Recherche1 à Feuil.Recherche17 servent à rechercher les mots clefs pas seulement dans la colonne P (16), mais dans les colonnes 7 à 23.

Ce que je ne comprends pas, c'est la raison pour laquelle cela ne fonctionne pas...

En fait, j'ai tenté de mettre à jour le document original car des catégories ont disparu, d'autres ont changé de noms, ainsi j'ai voulu corriger les problèmes d'arborescence.

Le document original est ici en pièce-jointe.

J'arrive à utiliser la fonction recherche sur Excel 2013. Par contre sur Excel 2016 cela ne fonctionne pas... Or tous les ordinateurs vont être mis à jour sur Excel 2016...

3index-gdoc.xlsm (508.10 Ko)

Bonjour,

Plusieurs petits changements effectués >> pour les trouver, rechercher '' << ric

Les feuilles "Hidden" posaient problème.

Lors des requêtes, je fais afficher la feuille concernée et la flèche retour masque la feuille.

Tests sommaires effectués sous Excel 365 fr 32 bits .

Activation de la feuille "Accueil" à l'ouverture et à la fermeture.

J'ai privilégié .Activate d'une feuille au lieu de .Sélect

Un essai ...

ric

Je reviens sur ma réponse : Dim Crit as string

il faut déclarer la variable et SON TYPE

et ça marche!!!

Bonjour RIC,

Tout d'abord merci pour votre aide.

J'ai essayé votre document sous Excel 2016, mais lorsque je tape en O4 un mot (j'ai essayé le mot "conges") je tombe sur le message d'erreur 1, puis en validant je tombe sur le message d'erreur 2. Si je vais dans le débogueur je tombe sur le code "debogage". Puis ensuite en fermant le code arrive le message d'erreur 3, puis le message d'erreur 4 et enfin le code de debogage 2.

debogage 2 debogage erreur 1 erreur 2 erreur 3 erreur 4

Par contre,

Sur Excel 2013 lorsque j'ouvre le document, je tombe sur le message d'erreur 1 bis qui correspond à la ligne de débogage 1 bis.

Ensuite, j'arrive à entrer un mot dans la case de recherche O4 et je valide. Apparait ensuite sur la feuille Administrateur_saisie les documents avec la présence du mot clé. Cependant ces résultats auraient du apparaitre dans la feuille "Recherche".

Comment faire pour permettre de corriger cette erreur et pour rendre compatible du code dans plusieurs versions d'Excel ?

Merci par avance.

Anthony

debogage 1 bis excel 2013 erreur 1 bis excel 2013

RECAP :

Sur Excel 2013 pour Windows :

Le document joint à ce message (INDEX GDOC.xlsm) fonctionne quasiment très bien. Ne demeure que deux problèmes :

  • Une erreur 400 de Microsoft Visual Basic pour Applications lors de la recherche par référent (cf. erreur 400 recherche par référent.jpg) qui apparait sur la feuille 1 "Accueil".
  • Lors du choix de la recherche "par fonction", aussitôt la fonction sélectionnée nous sommes envoyés sur la feuille 2 Recherche mais les résultats ne sont pas adaptés: très souvent aucun résultat.

Sur Excel 2016 pour Windows :

Ce même document (INDEX GDOC.xlsm) ne fonctionne pas. En effet, lors de la validation d'un mot clef, nous sommes envoyés sur la feuille 2 Recherche avec un message d'erreur de Microsoft Visual Basic pour Applications "Erreur système &H80010108 (-2147417848). L'objet invoqué est deconnecté de ses clients."

Cela est souvent (mais pas tout le temps) accompagné d'une erreur de Microsoft Visual Basic "erreur d'exécution '-2147319784 (80028018)': La méthode 'Unprotect' de l'objet '_Worksheet' a échoué.

Débogage :

Apparait le code débogage (en pièce jointe debogage 1.jpg ).

Enfin, Microsoft Visual Basic m'embête encore avec l'erreur suivante : "Erreur d'exécution '-2147024809 (80070057)': L'élément portant ce nom est introuvable. Je peux cliquer sur Fin, sur Débogage ou sur Aide.

Sur débogage je retrouve le code suivant (en pièce jointe debogage 2.jpg )

Si jamais vous avez une solution pour que notre logiciel fonctionne sur les deux versions cela serait ... merveilleux. Les soignants qui disposent de PC portables pour valider les soins n'ont pas accès aux différents protocoles à cause de cette incompatibilité... C'est très ennuyeux d'autant plus que cela n'est absolument pas mon métier...

Je vous remercie.

Anthony

erreur 400 recherche par referent debogage 1 debogage 2
8index-gdoc.xlsm (508.10 Ko)

Bonjour,

Le fichier, est-il local à ta machine ou sur le réseau ?

Car ici en local, il n'y a aucun message d'erreur; tout ce que j'ai testé fonctionne impec.

ric

Salut,

Peu importe, que cela soit sur le réseau commun de notre maison de soins palliatifs ou sur mon poste en local, cela ne fonctionne pas sur la version Excel 2016.

J'ai fait un récapitulatif sur le post ci-dessus.

Merci d'avance.

Bonjour,

Je viens de tester la version du fichier que je t'ai fait parvenir. Sur une autre machine qui est installée avec une version Excel 365 fr 64 bits. Il fonctionne toujours bien.

Je suis un junior en programmation et je reste pantois.

Le temps que je réfléchisse à la chose, je souhaite qu'un sénior ait l'amabilité de regarder le code et de nous donner son opinion.

Désolé pour les inconvénients.

ric

Bonjour,

En regardant de nouveau les images ...

- l'erreur dans la macro Private Sub Workbook_BeforeClose(Cancel As Boolean) survient quand ce n'est pas la feuille "Accueil" qui est en avant plan au moment de son exécution.

Le Shapes("Groupe 60") n'est pas accessible.

- l'erreur 400 survient quand le code pour les filtres tente de s'exécuter sur une feuille masquée.

Tente de remettre .Select au lieu de .Activate pour tester >> CTRL+H pour rechercher/remplacer.

Un dernier point, ta version de Office est-elle à jour ?

ric

Salut Ric,

Encore merci pour le mal que tu te donnes à m'apporter ton aide. Ma version d'Excel est bien à jour.

Après avoir changer .Activate par .Select … cela n'a rien changé : cela ne fonctionne toujours pas.

Si tu regardes dans le dernier post "récap" je dis bien que le document (joint au post récap) fonctionne sur Excel 2013 mais pas sur 2016. Sur Excel 2013, le document fonctionne presque parfaitement, avec des recherches qui apparaissent dans la feuille "Recherche" et non pas dans la feuille Administrateur_saisie comme sur le document que tu m'as envoyé. Par contre, je rencontre par moment le message d'erreur indiqué.

Je te remercie encore et attends votre aide avec impatience.

Anthony

Bonjour,

... le document (joint au post récap) fonctionne sur Excel 2013 mais pas sur 2016 ...

Ces deux versions d'Excel, sont-elles installées sur la même machine zou pas ?

Parle-t-on bien de Windows ou de Mac ?

ric

ric

Rechercher des sujets similaires à "corriger bug barre recherche"