Tranformer formule condition SI transformée en code VBA pour Macro

xavier9025

XLDnaute Nouveau
Bonjour à tous,

Je suis nouveau sur le forum et ai parcourru quelques fois votre chouette site.
Voici mon souci, je n'ai jamais programmé en VBA donc je suis obligé de mettre en oeuvre mon fichier avec des formules qui deviennent de plus en plus longues.

J'apprécierais un coup de mains ou un conseil pour voir car je bloque sur le reproduction de mes formules.

Mon fichier sert à gérer les pauses d'un service qui travaille en 3 shifts et du w-end. Le fichier permet de gérer les changement d'équipes, pour les congés, pour les heures supplémentaires et pour les congés. Il est partagé aussi avec les ressouces humaines pour la paie.

Mon problème est que j'utilise la mise en forme conditionnelle, des formules et des listes pour sélectionner les horaires.

Voici mes deux formules principales:
1. Pour la gestion des heures: =SOMME(SI(OU(D6="P1";D6="P2";D6="P3";D6="RTT";D6="CT";D6="VA";D6="ANC";E6="P1";E6="P2";E6="P3";E6="RTT";E6="CT";E6="VA";E6="ANC";F6="P1";F6="P2";F6="P3";F6="RTT";F6="CT";F6="VA";F6="ANC");8;0);G6)

2. Pour faire un tableau résumé pour les RH: =SI(OU(Personnel!D5="P1";Personnel!D5="P2";Personnel!D5="P3";Personnel!E5="P1";Personnel!E5="P2";Personnel!E5="P3";Personnel!F5="P1";Personnel!F5="P2";Personnel!F5="P3");"PAUSE";SI(OU(Personnel!D5="RTT";Personnel!D5="CT";Personnel!D5="VA";Personnel!D5="ANC";Personnel!E5="RTT";Personnel!E5="CT";Personnel!E5="VA";Personnel!E5="ANC";Personnel!F5="RTT";Personnel!F5="CT";Personnel!F5="VA";Personnel!F5="ANC");"CONG";SI(OU(Personnel!D5="MAL";Personnel!E5="MAL";Personnel!F5="MAL");"MAL";"VIDE")))

Mon souci est que je ne sais pas copier cette formule pour les jours suivants vu qu'il y a un décalage de 5 colonnes.

Je ne sais pas si je peux mettre ce fichier en utilisant des Macros pour les fonctions Si ou de même pour la mise en forme, voir l'utilisation des listes.

Autre question: Peut-on faire une mise en forme "texte" qui contient du juste une lettre. Ex: Cellule contient "P*" alors couleur bleue. et la cellule contient des valeurs P1 ou P2 ou P3.

Je ne sais pas si j'en ai dit trop ou pas assez.

Je vous en remercie d'avance et mets le fichier en attachement.

Xavier
 

Pièces jointes

  • rx up rev FIN.xlsx
    77.4 KB · Affichages: 78
  • rx up rev FIN.xlsx
    77.4 KB · Affichages: 75
  • rx up rev FIN.xlsx
    77.4 KB · Affichages: 77

CISCO

XLDnaute Barbatruc
Re : Tranformer formule condition SI transformée en code VBA pour Macro

Bonjour

Le début du travail en pièce jointe.

J'ai mis une formule matricielle (à valider avec Ctrl+maj tempo+entrée, ce qui donne { et } avant et après la formule) en colonne F, pour "simplifier" la tienne, et juste pour que tu comprennes la méthode. Cette formule peut être tirée vers le bas, mais pas vers la droite.
Ensuite, en colonne G, j'ai modifié la formule de la colonne F pour que l'on puisse la copier-coller vers la droite en décalant la plage source de 5 colonnes à chaque fois (D5:F5, puis I5:K5 et ainsi de suite).

Cette formule ne donne le bon résultat que si les plages Perso!D3:... et RH!F19:.. listent les dates exactement dans le même ordre, sans aucun manque dans l'une ou dans l'autre.

Lorsque tu auras compris cela, tu pourras supprimer la colonne F.

@ plus
 

Pièces jointes

  • rx up rev FIN.xlsx
    77.7 KB · Affichages: 21
  • rx up rev FIN.xlsx
    77.7 KB · Affichages: 22
  • rx up rev FIN.xlsx
    77.7 KB · Affichages: 22
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Tranformer formule condition SI transformée en code VBA pour Macro

Re

Deux autres possibilités en pièce jointe

fichier bis : les dates ne doivent pas forcément être les mêmes dans les deux listes. Cela fonctionne si les dates de la feuille RH se trouvent dans la liste de la feuille Perso, dans n'importe quel ordre.

fichier ter : Une petite simplification de la fin de la formule.

@ plus
 

Pièces jointes

  • rx up rev FIN bis.xlsx
    77.6 KB · Affichages: 42
  • rx up rev FIN terxlsx.xlsx
    77.7 KB · Affichages: 42

Discussions similaires

Réponses
4
Affichages
141
Réponses
1
Affichages
130
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 339
Messages
2 087 407
Membres
103 537
dernier inscrit
alisafred974