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