Ajout de colonne dans une base de données

Bonjour,

Je vous explique mon projet puis viendra ma question.

Je travaille sur un fichier Excel qui recense tout les chats d'un refuge SPA.

Sur ce fichier apparaissent les données concernant les chats. C'est à dire :

Colonne 1: numéro de puce

Colonne 2 : date de naissance

Colonne 3 : nom du chat

Colonne 4 : date du vaccin

Les chats sont placés dans différente pièces appelé chatterie.

Les pièces vont du numéro 2 à 15. (Il y a des lapins dans la 1 )

Sur chacune des portes doit apparaitre une feuille indiquant quelques informations sur les chats qui s'y trouvent.

Il faut savoir que les chats peuvent être amené à changer de pièces (bagarre, maladie, ...).

Mon but est donc d'avoir dans mon fichier Excel, un onglet avec tout un tas d’information sur tout les chats. Il y aura notamment une colonne indiquant dans quel chatterie ce trouve chaque chat.

Une fois le fichier mis à jour, une macro devra remplir les 15 autres onglets correspondant au 15 pièces en n'y mettant que les chats qui s'y trouvent. Tout cela avec une mise en page spécifique permettant de l'imprimer.

en pièce jointe le fichier en question. Toute les informations sont factices.

l'onglet liste chat est la base de données et sur l'onglet 1 on voit la mise en page final pour l'impression.

J'en viens à ma question.

Sachant que les informations dans l'onglet principal risque de bouger (ajout ou déplacement de colonne ) car ce fichier pourra servir de base de donné pour d'autres utilisations.

Comment faire pour avoir un code facilement adaptable ?

Je veux dire par la, si dans une fonction de copie par exemple je veux faire référence à une cellule contenant le nom d'un chat.

Pour la ligne je n'ai pas de problème mais pour la colonne je ne peux pas simplement faire appel à la colonne 3.

En effet si l'onglet de base à été modifié en insérant une colonne Tatouage entre colonne 2 et 3, cela ne fonctionne plus.

Je ne peux pas non plus faire une recherche par le nom de colonne, je suis sur que l'on va me demandé de faire évoluer les noms.

Je me suis donc dit, je pourrais faire référence aux colonnes dans mon code VBA ni par une recherche, ni par un numéro mais par des variables 'fixe' initialisé au début de ma macro grâce a un petit tableau de correspondance.

Exemple :

puce = 1

naissance =2

nom=3

vaccin=4

Comme ça si je veux la colonne où il y a les nom je dit "colonne(nom)". Si il y a un changement dans les colonnes de la base de donnée je n’aie qu'a changer mon petit tableau de correspondance et non faire une recherche de toute les fois où j'ai utilisé la référence a la colonne.

Par contre comment vous me conseillerez de faire ça proprement ?

Bonsoir

Un exemple de ce que l'on peut faire

Ne pas supprimer la feuille (Modele)

Tu dis si cela te convient ou s'il faut changer quelque chose

Cordialement

j’étudie ce que tu as fait.

tu utilises beaucoup de chose que je ne connaissais pas. J'ai mis un peu de temps a tout comprendre. C'est intéressant.

Mais ça ne fait pas ce qu'il faut.

Les chats apparaissent sur tout les onglets alors qu'un chat étant à la 2 ne devrait apparaitre que sur l'onglet 2 et pas sur les autres.

J'ai fait un test en ajoutant une colonne avant les noms et en effet ta feuille modele transforme bien les formules pour coller toujours à la bonne colonne. et ça je ne comprends pas comment.

Rechercher des sujets similaires à "ajout colonne base donnees"