RESOLUAutomatiser une recherche d'information

ymanot

XLDnaute Occasionnel
Bonjour le forum

J'ai un document qui fonctionne très bien pour moi. Mais lorsque je transmet MA structure à un collègue je dois modifier manuellement toute les macros car mes chaque recherches n'a pas la meme base d'information.
2 problèmes rencontrés :

1 : la feuille "TRI" elle fait appel a ce que je recherche sur la feuille "listing" aussi pour copier les infos je fonctionne avec "SI(ESTNUM(TROUVE(..." malheureusement à chaque collègue je dois modifier la classe recherchée. peut être existe il plus pratique comme formule

2: Ma feuille 'récapitulatif" elle concentre toutes les recherches par options. Mais selon les etablissements les intitulés ne sont pas les mêmes.
mes macros recherchent ce que je saisi manuellement dans chacune d elles. Peut etre existe t il une autre méthode permettant d 'eviter de modifier à chaqu fois la saisie de mes fonctions persos.
merci
 

Pièces jointes

  • repart classe 2020 base vierge pour exl down.xlsm
    93.5 KB · Affichages: 13

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Ymanot,
Concernant le second point, on peut passer l'intitulé en paramètre ce qui fait que la fonction sera indépendante de l'intitulé.
1- Dans récapitulatif, créer une colonne à gauche des matières
2- Y mettre les intitulés de matières ( ITA2, AGL1, ESP2 ... ) Ce sont ces intitulés qui serviront pour la recherche.
3- Changer la fonction, par ex :
VB:
Function CompteItalien(Chaine)
Application.Volatile
    CompteItalien = Application.CountIf(Sheets("01").Range("g:j"), Chaine)
End Function
4- Changer la formule =compteItalien() en =compteItalien(C15) ( si en C15 on a l'intitulé )
Donc si les intitulés changent, les fonctions s'adaptent automatiquement.
 

ymanot

XLDnaute Occasionnel
Bonsoir le forum
bonsoir Sylvanu
Merci pour cette solution qui marche parfaitement. je vais chercher à la contourner pour mieux m'y retrouver. mais oui mes collègues n'auront pluls qu'à copleter leur liste.

VB:
Function CompteItalien(Chaine) ...[COLOR=rgb(65, 168, 95)]en placant compte (cellule concernée) ex "B12"[/COLOR]
Application.Volatile
    CompteItalien = Application.CountIf(Sheets("01").Range("g:j"), Chaine)
End Function
merci beaucoup.
 
Dernière édition:

ymanot

XLDnaute Occasionnel
Bonjour le fil
Bonjour Sylvanu
j ai modifié comme suit la fonction perso le A1 renvoyant a la cellule 1 a coté de l'option à modifier
Function CompteA1(Chaine)
Application.Volatile
CompteA1 = Application.CountIf(Sheets("01").Range("h:k"), Chaine)
End Function

j 'ai aussi élargi la zone de recherche car je ne sais jamais ou les collègues renseignent les options

ma question
ce type de formule perso peut il entrer en conflit si il remarque des similitudes dans les énoncés.
en procédant de la sorte je vais devoir anticiper toute les cases et donc je vais entrer 12 options x 10 classes soit 120 possibles.
merci
 

Anthonymctm

XLDnaute Occasionnel
Bonjour Ymanot,

Petit tips pour mettre correctement le statu résolu sur tes demandes : :)
-Soit tu cliques en bas du message "marquer comme solution"
-Soit tu cliques sur les trois petits points en haut du topic à droite de "ne plus suivre"
Tu fais éditer la discussion puis tu remplace la version d'excel par résolu
 

Discussions similaires

Réponses
20
Affichages
1 K

Statistiques des forums

Discussions
311 721
Messages
2 081 929
Membres
101 843
dernier inscrit
Thaly