Résolu RESOLUAutomatiser une recherche d'information

ymanot

XLDnaute Junior
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
 

Fichiers joints

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 Junior
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 Junior
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
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Ymanot,
entrer en conflit si il remarque des similitudes dans les énoncés
Pas bien compris. Donnez un exemple pour être plus explicite.

120. C'est quoi ? le nombre de cellules avec des formules ou le nombre de fonctions que vous allez avoir à écrire ?
 

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
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas