Souci avec la fonction .Find sur plusieurs onglets

Bonjour/Bonsoir,

J'ai un petit souci avec mon userform "ModifierChien". Dans le code suivant, les premières étapes fonctionnent plus ou moins bien mais arrivé à la "copie de la ligne du recap", la fonction "Cells.Find" ne fonctionne plus. Parfois elle me sélectionne une cellule aléatoire mais la plupart du temps les cellules (B1- dernière colonne de ligne 1) sont sélectionnées.

J'ai également un deuxième souci concernant les 3 premières lignes (paragraphe: supp cellules d' individus). Lorsque les cellules désirées sont supprimées, il arrive parfois (peu souvent), que toutes les valeurs des cellules à leurs droites (uniquement sur la même ligne), se décalent de 2 cases vers la gauche. Je n'ai pas trouvé de raison à cela...

Je tiens à préciser que je débute sur VBA et que je n'ai donc qu'une connaissance limitée sur le sujet.

Merci d'avance pour votre précieuse aide et conseils!

PS: si vous souhaitez tester la macro, il suffit de cliquer sur "Modifier" dans la 1ère feuille ( individus)

Code:

code modif

Bonjour

Lorsque je teste votre macro j'ai une erreur sur rowssource (instruction à éviter en VBA. Elle apporte quelques fois des soucis)

En regardant votre fichier, je ne vais pas répondre de suite à votre souci car j'essaie de comprendre comment cela fonctionne et du pourquoi de la feuille "individus".

Pourquoi ne pas utiliser les données de la feuille recap qui reprend les mêmes infos ?

Sans trop chercher, il me semble que les feuilles individus, recap et c reprennent les mêmes infos et pourrait être regroupées en une seule

Si vous pouviez expliquer le fonctionnement, cela aiderait

Cordialement

Bonjour Dan,

Tout d'abord, merci pour ton aide. Concernant le but du fichier, il s'agit de faire un suivi de mon chenil.

Le rôle de chaque feuille:

  1. "Individus" sert à comptabiliser le nombre de chiens possédés ainsi que leur date de naissance.
  2. "Recap" sert de récapitulatif de la situation des chiens (dernier poids enregistré, dernier vaccin, dernier anti-tic, ...) ainsi que de rappel (Prochain vaccin, anti-tic, vermifuge, ...).
  3. "C" est une feuille de saisie de la race C, je créerai donc par la suite plusieurs feuilles identiques. Example: au jour X le chien pesait 21kg, jour Y, il a été vacciné et a pris un vermifuge, etc...
  4. "Compta" sert à comptabilisé les chiens vendus, donnés ou décédés. Une fois que le chien est dans l'un de ces 3 cas, il sera supprimé d'"individus" (nom + date de naissance) et de récap (de B5 à la dernière ligne non-vide) puis enregistré ici.

C'est pour cela que je ne peux pas regrouper les feuilles individu

s, recap et c ensemble. Néanmoins, individus et recap pourraient être regroupés en effet (je trouve simplement cette disposition plus simple visuellement, vous trouvez pas?).

Pour ce qui est de la rowsource, je ne sais pas pourquoi cela ne marche pas pour vous. Le but est d'avoir la liste des chiens restant dans la combobox "Nom", devrais-je remplacer la rowsource par ça?

formule rowsource rowsource

Merci encore pour ton aide !

Ok j'avais compris que c'était pour un chenil

1.."Individus" sert à comptabiliser le nombre de chiens possédés ainsi que leur date de naissance.

J'ai plutot fait ceci dans votre feuille individus

- Enlever le # et nommer votre feuille Individus
- Organiser les tableaux de votre feuille comme ceci

presse papier02

Dites moi si ok

J'ai modifié les rowsources et organisé les tableaux comme indiqué.

Je n'ai pas vraiment compris où était l'erreur (ce serait bien si vous pouviez me l'expliquer brièvement) mais ça marche !

Merci beaucoup pour ton aide !

Re,

Heu j'étais en train de travailler sur votre fichier pour améliorer certains codes et formule. Vous l'avez cloturé et je ne dois plus rien faire ?

Si vous avez repris le même tableau à gauche, vous pouvez utiliser cette formule en B5 --> =NB.SI(DECALER($D$5;;;NBVAL($D:$D)-1);"*"&INDIRECT("A" & LIGNE())&"*")

Une fois fait, tirer la formule vers le bas

Cordialement

Bonjour Dan,

J'ai effectivement clos le sujet car mon problème a été résolu.

Le principale problème résidait dans la macro "Modifier" mais elle marche maintenant (bien que je ne sache toujours pas quel était le problème).

Si vous avez repris le même tableau à gauche, vous pouvez utiliser cette formule en B5 --> =NB.SI(DECALER($D$5;;;NBVAL($D:$D)-1);"*"&INDIRECT("A" & LIGNE())&"*")

Cette formule ne convient malheureusement pas car la race et le nom des chiens ont juste été mis à titre indicatif.

C1,C2, etc seront remplacés par Boby, Tita, Isis etc... du coup la formule ne marchera pas

Merci pour ton aide !

Je pense que j'aurais encore besoin de tes conseils plus tard pour simplifier les macros

Bonjour

Cette formule ne convient malheureusement pas car la race et le nom des chiens ont juste été mis à titre indicatif.

Ah oui dans ce cas, cela risque de ne pas fonctionner. Je voyais des C et S. D'où l'idée de cette formule

En vous lisant et par rapport à ma proposition de tableaux, mon conseil serait de mettre une colonne supplémentaire dans le tableau de droite qui reprend le nom du chien.
Le tableau de gauche resterait pour calculer les quantités par race.

A vous de voir bien entendu

Cordialement

Rechercher des sujets similaires à "souci fonction find onglets"