Ecriture VBA trop longue

  • Initiateur de la discussion Initiateur de la discussion eduraiss
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

eduraiss

XLDnaute Accro
Bonjour le forum

voila j'ai un problème avec l'ecriture en VBA, le code est trop lon et je dois repasser a la ligne mais la je n'y arrive pas voici le bout de code


If cel = "SAVARY P" And (cel.Offset(0, 2 - Col) <> "APPRO FRUIT F10" Or cel.Offset(0, 2 - Col) = "APPRO FRUIT F9" Or cel.Offset(0, 2 - Col) = "APPRO FRUIT L3" Or cel.Offset(0, 2 - Col) = "APPRO FRUIT M6" Or cel.Offset(0, 2 - Col) = "APPRO FRUIT M7" Or cel.Offset(0, 2 - Col) = "APPRO FRUIT M8" Or cel.Offset(0, 2 - Col) = "APPRO FRUIT RM" Or cel.Offset(0, 2 - Col) = "CARTONS RM" Or cel.Offset(0, 2 - Col) = "CE D'EQUIPE DEC" Or cel.Offset(0, 2 - Col) = "CE D'EQUIPE F10" Or cel.Offset(0, 2 - Col) = "CE D'EQUIPE F9" Or cel.Offset(0, 2 - Col) = "CE D'EQUIPE M15" Or cel.Offset(0, 2 - Col) = "CE D'EQUIPE M17" Or cel.Offset(0, 2 - Col) = "CE D'EQUIPE M5" Or cel.Offset(0, 2 - Col) = "CE D'EQUIPE M7" Or cel.Offset(0, 2 - Col) = "CE D'EQUIPE M8" Or cel.Offset(0, 2 - Col) = "EMBALLAGE F10" Or cel.Offset(0, 2 - Col) = "EMBALLAGE F10" Or cel.Offset(0, 2 - Col) = "EMBALLAGE F10" Or cel.Offset(0, 2 - Col) = "EMBALLAGE F10" Or cel.Offset(0, 2 - Col) = "EMBALLAGE F10" Or cel.Offset(0, 2 - Col) = "EMBALLAGE F10") Then
MsgBox " Poste interdit à SAVARY P!"
End If

Ce code interdit la personne d'être positionné a certains endroit

Mes questions comme faire pour repasser a la ligne ou comment simplifier ce code

Merci a vous
 
Re : Ecriture VBA trop longue

Re

C'est parfait, il n'y a rien a dire, juste un très grand merci a toi

Je vais le faire tourner le plus possible, pour voir si il y a un truc qui coince mais là je ne vois pas,et quel simplicité pour rentrer les handicaps

Je suis très content

Cordialement
 
Re : Ecriture VBA trop longue

bonjour Roland,
bonjour Eric,

Sans rien changer à votre travail, je me suis amusé à mettre une Mise en Forme Conditionnelle dans la colonne A de Feuil1.

MFC qui s'appuie sur Deux Zones Nommées ('Exceptions' et 'NomsExceptions') de la feuille Exceptions.

S'il y a quelqu'un que cela interresse voici le fichier

A+ tout le monde
 
Re : Ecriture VBA trop longue

bonsoir le forum

salut à toi Hasco 🙂
c'est très intéressant et sympa de ta part !
je le prend pour adapter(si ça interresse Edurais) ou peut être pour d'autres applications.

merci encore et bonne soirée !

Cordialement. Roland
 
Re : Ecriture VBA trop longue

Bonjour le forum et toi Roland et a Hasco

la proposition de Hasco est intéressante, car il est vrai que si je déplace une personne a un poste quelle ne peut pas occuper et que je valide par OK, si je passe a autre chose, il y aura problème car la personne restera en poste

Avoir un repère qui signale une erreur en colonne B mais pas en A

En gros avoir les cellules des postes qui se mettent en rouge si une personne et mal positionnée
Mais il ne faudrait pas alourdir le système.

Merci
Cordialement
Eric
 
Re : Ecriture VBA trop longue

Re

merci a toi c'est un plus, mais plutôt que le texte (nom) se mette en rouge est que la cellule ne pourrait pas être en fond rouge petit plus pour moi car on écrit quelquefois en rouge

Merci enfin ne te tracasse pas trop, là on va atteindre le nirvana

Cordialement

Eric
 
Re : Ecriture VBA trop longue

re

voilà c'est fait !

mais attention si tu mets le nom en rouge et que c'est un interdit
tu ne verras plus le nom !?

je t'ai mis le fichier idem avec un plus qui pourrait t'intérresser !?

Roland
 

Pièces jointes

Dernière édition:
Re : Ecriture VBA trop longue

Re bonjour

Pour les cellules en rouge sa marche trés bien, mais je ne sais pas si cela pourra fonctionner, car j'utilise des cellules avec le fond en couleur, aprés avoir essayé je doute.

Je pense que tu n'a pas du voir un message plus haut quand hasco parler de mettre une couleur dans la colonne A et moi je parler de la colonne B
une personne ne doit pas occuper emballageL3 par exemple

le message apparait la c'est OK? et EMBALLAGE L3 se met en rouge et y reste tant que je n'ai pas déplacer cette personne, mais la c'est peut être plus compliqué,surtout si il a deux personnes ayant cet handicap sur la même ligne mais je crois que cela me conviendrais mieux

Pour ton userform, tu as de l'avance par rapport a moi, j'ai l'idée d'avoir ce type d'outils mais pas pour les inaptitudes mais pour les compétences
Dans ta feuille personnel en colonne A le nom des personnes
en ligne 1 tous les postes, en mettant un croix cela veut dire quel est compétente a ce poste
Prenons un exemple LILI a la compétence de CE D'EQUIPE F9 (elle est qualifier)
Dans la feuille1 (qui sont en principe les jours de la semaine) sur la ligne CE D'EQUIPE F9 il me manque quelqu'un en cliquant sur le cellule le noms de toute les personnes qui ont cette compétence apparait
Mais la il y a une difficulté majeur a mon sens la liste ne devra si c'est dans la colonne du matin me proposer que les personnes qui ont cette compétence et qui sot de matin idem pour après midi et nuit et la je crois que cela devient très compliqué

Merci a toi

Eric
je te renvoie le fichier
 

Pièces jointes

Re : Ecriture VBA trop longue

bonsoir

ce n'est pas que c'est compliqué mais plutôt un peu tordu et contradictoire !

pour les couleurs on peut arranger cela.

mais j'ai l'impression que tu veux faire double emploie du personnel
si tu as les interdits cela suffit, il est inutile de recréer une liste des personnes compétences !?
puisque logiquement les compétents sont les autres !?
sinon ça signifie qu'il une troisième possiblité !?
1' les interdits
2' les compétents (qui normalement sont tout autre qu'interdit)
3' c'est qui ou quoi ?

maintenant tout est possible, mais pas dans un morceau de fichier que tu vas reprendre !
pour faire un travail pareil il faut un classeur d'origine que l'on va structurer et dans lequel on va nommer des champs(personnel/interdit/matin/apmidi...) plus des constantes dans un module pour ne pas avoir à répéter toujours les mêmes variables ou constantes(source d'erreurs et très difficile à modifier par la suite)

et tout ça je ne peux pas le faire dans des exemples que tu me fournis !?
ou alors ça va tourner que dans cet exemple !
des exemples ne sont valables que pour une personne qui sait adapter le code à ses besoins !
or toi tu prends les exemples "plein pot" tel quels que tu recopies ! mais ça c'est limité !

Il te faut:
une liste de tout le personnel complet (comme j'avais fait)
une liste des personnes(comme actuel) des personnes avec les postes que l'on appels interdits

mais s'il faut tenir compte du matin/ap-midi... il faut revoir toute la structure du programme avec un cahier des charges très précis, sinon c'est là que ça devient compliqué et ingérable !?

pour faire tourner ton exemple c'est possible mais je vais devoir faire appels à des procédures, modules, champs nommés... ce que je t'expliquai plus haut !
mais il te seras impossible de l'adapter à ton classeur principal ne connaissant pas suffisament VBA !

Roland
 
Dernière édition:
Re : Ecriture VBA trop longue

Re

Ok Roland , je ne peux pas maintenant rentrer dans un truc pareil, je le conçois et tu as raison, faisons simple alors juste une couleur en colonne B si tu peux ou dans l'état sa va le faire aussi

Pour le reste on verra plus tard, il faut que je le murisse mais ton Userform est plutôt sympa, je réflechis

Merci a toi et a ton implication a mes problèmes, mais rassure toi je te suis quand tu parles de cahier des charges trés précis,mais je n'en suis pas encore là, tu sais en passant par le forum on a des question et viens des réponses que l'on intègre dans nos fichier source (merci a tous)

le programme que j'utilise pour la gestion d'équipe marche, grasse a vous et a toi bien sûr, ce sont des bouts de programme que je bidouille ensuite, mais je peux t'assurer que cela fonctionne

Cordialement
Merci pour ton aide, je crois que tu connais très bien ton travail, et que tu voudrais surement mieux faire, mais avec des données plus précises, Désolé mais je suis novice dans le métier, et pour les données il faudrait reprendre le fichier a la base.

A+ Eric
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour