Cahier des charges trop restrictif :HELP !

yannosh001

XLDnaute Nouveau
Bonjour le Forum,

J'ai reçu un cahier des charges d'un client pour un developpement VBA Excel qui me pose problème.

Le cahier des charges spécifie un certain nombres d'actions à réaliser sur telle ou telle colonne/ligne, jusque là pas de soucis technique majeurs.

Mon problème c'est que le cahier des charges spécifie 3 choses:

- Ils veulent pouvoir ajouter/supprimer des lignes ==> ok, pas de soucis
- Ils veulent pourvoir modifier les titres des colonnes ==> ok, pas de soucis
- Ils veulent pouvoir ajouter/supprimer des colonnes ==> PAS OK !!! GROS SOUCIS!!!

Explication de mon problème par un exemple :

Si par exemple la colonne B contient des noms et la colonne C contient des prénoms. Le CdC (Cahier des Charges) spécifie qu'après execution de ma macro la colonne B doit contenir le nom ET le prénom, séparé par un virgule. La colonne C est supprimé.

Le CdC spécifie qu'ils peuvent ajouter une colonne. Si par exemple ils ajoutent une colonne entre lescolonnes A et B, les noms et prénoms se retrouvent donc dans les colonnes C et D, ils sont décalés vers la gauche.

Comme ma macro doit "fusionner" les colonnes B et C, il y aura donc comme un soucis.

Ma question est donc la suivante : Comment je pourrais faire, en gardant le même exemple, pour garantir que ma macro continuera a fonctionner correctement tout en respectant le second point du Cdc qui dit qu'ils peuvent renommer les titres des colonnes. De façon plus clair, comment trouvé la colonne ou sont les noms et les prénoms, en sachant qu'ils ne seront pas forcément dans les colonnes B et C, et que les titres de ces colonnes pourraient être changés.

Merci a tous des idées que vous pourriez m'apporter!

Yannosh
 
Dernière édition:

wilfried_42

XLDnaute Barbatruc
Re : Cahier des charges trop restrictif :HELP !

bonjour

Fais un traitement nom pas sur les colonnes physique mais sur les noms de colonne

Exemple : une feuille masquée,
avec en colonne A, le nom de la colonne codifiée par toi meme (si besoin)
en colonne B, le nom de la colonne Saisie dans la feuille,
en colonne C, un code traitement (à toi) enxemple : 1 pour ta colonne nom, 2 pour ta colonne prenom, 1+2 soit 3 pour ta colonne nom, prenoms
en colonne D, Vrai ou Faux pour autorisé ou non la suppression

chaque ligne etant une colonne, (ligne 1 --> colonne 1 etc)

Quand une action est menée sur la cellule active, tu connais la colonne, tu en recupere les qualités dans ta feuille masquée

quand tu recherches une colonne en fonction de son titre, tu la recherches dans ta feuille masquee, la ligne correspondant à la colonne, tu sais ou elle est, tu sais si elle peut etre supprimée, et par un code, tu en connas le type de traitement

Quand tu supprimes une colonne, tu supprimes la ligne correspondante

Quand tu ajoutes une colonne, tu ajoutes la ligne correspondante

Etc...
 

yannosh001

XLDnaute Nouveau
Re : Cahier des charges trop restrictif :HELP !

Merci wilfried,

J'avais pensé a quelque chose dans le genre, mais j'aurai souhaité qu'on me suggère une autre possibilité car ça complique pas mal le code. Déja que le cahier des charges est monstrueux, si je pouvais faire au plus simple...

Tu dis: "Quand tu supprimes une colonne, tu supprimes la ligne correspondante".

Comment je detecte qu'une colonne a été supprimé? Il faut que je re-parcours le tableau pour "reconstruire" le tableau de correspondance mis dans la feuille caché? Ou il y a une autre façon de détecter qu'un colonne a été ajouté/supprimé ?
 

wilfried_42

XLDnaute Barbatruc
Re : Cahier des charges trop restrictif :HELP !

re:

Tu vas leur laisser le choix de supprimer ou d'ajouter une colonne, je te conseille de le faire par macro, avec un menu contextuel ou une commandbar perso, ca te permettrait de tout controler

Sinon, c'est vrai tu as des problemes, je ne connais pas d'interruption sur les insertion et suppression de colonne ou de ligne
 

yannosh001

XLDnaute Nouveau
Re : Cahier des charges trop restrictif :HELP !

La commandbar est une bonne solution. A proposer au client!

J'ai pas testé, mais est-il possible d'interdire à un utilisateur de supprimer un colonne manuellement (click droit ->Supprimer) par une protection de feuille/plage, mais de tout de même le permettre par le biais d'un commanbar ou d'un userform?
 

yannosh001

XLDnaute Nouveau
Re : Cahier des charges trop restrictif :HELP !

merci fanfan,

mais le client se réserve la possibilité de renommer les colonnes (si j'ai bien compris ce que tu voualis dire). Quand je veux dire renommer, je parle de la première cellule de chaques colonne.
 

wilfried_42

XLDnaute Barbatruc
Re : Cahier des charges trop restrictif :HELP !

re: bonjour francois

Ca c'est pas vraiment un probleme, il y a une interruption d'evennement sur la saisie, connaitre le n° de la colonne et la valeur saisie et tres simple


Tu peux supprimer l'acces au click droit par l'interruption d'evennement Right_click
une ligne à mettre : Cancel = true
 

porcinet82

XLDnaute Barbatruc
Re : Cahier des charges trop restrictif :HELP !

Salut,

Ils sont bebetes ou quoi ceux qui ont écris ce cahier des charges ?
Il faut forcement fixer quelque chose, soit les colonnes ne bougent pas, ce qui est assez restrictif, soit tu travails sur les libellés des entetes. Donc si ils peuvent egalement modifier ces libellés, je vois bien une solution, mais je ne suis pas sur qu'elle soit terrible et qu'elle colle a ton cahier !!!
Disons que tu peux peut etre masquer une ligne quelque part dans laquelle tu mettrais a jour des libellés (fixé par toi) via une macro evenementielle.
Ou alors, faire la meme chose sur une feuille masquée...
Voila quelques idées, mais pas sur qu'elles puissent t'aider.

@+

Edition : Bonjour tout le monde, désolé, j'avais pas rafraichi la page...
 

fanfan38

XLDnaute Barbatruc
Re : Cahier des charges trop restrictif :HELP !

Non je ne parlai pas de la 1ere cellule mais d'utiliser la fonction insère noms
que la colonne G s'appelle par exemple col_g...
si tu insère ou supprime des colonnes col_g peux être en i ou en c...

A+ François
 

Discussions similaires

Statistiques des forums

Discussions
312 356
Messages
2 087 562
Membres
103 592
dernier inscrit
DTDT