Modification Code Dispatching (Code de Job)

an@s

XLDnaute Occasionnel
Bonjour à tous,
premièrement je m'excuse d'avoir crée tant de psoeudo et cela parce que premièrement je suis nul en VBA donc je me connecte rarement sur le site du coup à chaque fois j'ai besoin de quoi que ce soit concernant mon boulot je crée un nouveau pseudo parce que je ne garde pas l'ancien en pensant que ce n'est pas grave tant que ca ne fait mal à personne ( je déclare garderai dorénavant celui ci)

pour mon sujet et comme vous pouvez constater dans le fichier ci-annexé j'ai un code dans la feuille RECAP qui crée deux tableaux qui viennent des feuilles PAIE MENS & PAIE HOR

ce que je souhaite avoir c'est de rajouter sur cette feuille RECAP un autre code permettant de :

  • Pour feuille ODA MENS :
Copier colonne C de RECAP dans colonne H de ODA Mens
Copier colonne A de RECAP dans colonne L si les données de colonne A commencent avec MATX. (avec point)
Copier colonne A de REcap dans colonne J si les donnes de la colonne A commencent avec MATX (sans point)

  • Pour feuille ODA HOR :
Copier colonne I de RECAP dans colonne H de ODA Mens
Copier colonne H de RECAP dans colonne O de ODA Hor
Copier colonne G de RECAP dans colonne L si les données de colonne A commencent avec MATX. (avec point)
Copier colonne G de RECAP dans colonne J si les donnes de la colonne A commencent avec MATX (sans point)

NB: les données de colonne B et G (nature comptable) puis I et P sans oublier la colonne O sont exporté avec ce tableau d'un système et il faut les garder tel qu'ils sont

  • pour la feuille CAP Congés (Mens)
copier les données de la colonne W de la feuille PAIE-MENS-DTE dans la colonne D de la feuille CAP Congés (Mens)
copier les données de la colonne AD de la feuille PAIE-MENS-DTE dans la colonne M de la feuille CAP Congés (Mens) si ca commence avec MATX. (avec Point)
copier les données de la colonne AD de la feuille PAIE-MENS-DTE dans la colonne L de la feuille CAP Congés (Mens) si ca commence avec MATX. (sans Point)
copier les données de la colonne D de la feuille PAIE-MENS-DTE dans la colonne N de la feuille CAP Congés (Mens)

NB: dans PAIE-MES-DTE s'il existe des lignes dont les données de la colonne AD et D sont identiques on les rassemble dans une seule ligne dans CAP Congés (Mens) avec la somme des montant de la colonne W en un seul
  • pour la feuille CAP Congés (Hor)
copier les données de la colonne W de la feuille PAIE-HOR-DTE dans la colonne D de la feuille CAP Congés (Hor)
copier les données de la colonne AD de la feuille PAIE-HOR-DTE dans la colonne M de la feuille CAP Congés (Hor) si ca commence avec MATX. (avec Point)
copier les données de la colonne AD de la feuille PAIE-HOR-DTE dans la colonne L de la feuille CAP Congés (Hor) si ca commence avec MATX. (sans Point)
copier les données de la colonne D de la feuille PAIE-HOR-DTE dans la colonne N de la feuille CAP Congés (Hor)

NB: dans PAIE-HOR-DTE s'il existe des lignes dont les données de la colonne AD et D sont identiques on les rassemble dans une seule ligne dans CAP Congés (Mens) avec la somme des montant de la colonne W en un seul

Cordialement
 

Pièces jointes

  • REFAC.xlsm
    349.6 KB · Affichages: 45

an@s

XLDnaute Occasionnel
Bonjour Job, Le forum
Merci infiniment c'est exactement le résultat que je souhaitais avoir.
est ce qu'on peut rajouter une ligne qui fait la somme comme j'ai fait manuellement dans la ligne 175 ??

Cordialement
An@s
 

Pièces jointes

  • ODA GASOIL(1).xlsm
    38.4 KB · Affichages: 30

an@s

XLDnaute Occasionnel
Re,
je viens de faire un test et j'ai rencontré un petit problème comme vous pouvez constater sur le fichier joint en faisaint l'importation j'ai eu une ligne vide avant la ligne total toute en sachant que dans le fichier d'origine n'existe pas

An@s
 

Pièces jointes

  • ODA GASOIL(2).xlsm
    34.1 KB · Affichages: 29
  • Gasoil.xlsx
    12.3 KB · Affichages: 28

job75

XLDnaute Barbatruc
Re,

Il y avait une coquille (un 2 en trop) dans la définition du 1er tableau t.

En plus ça ralentissait beaucoup la macro [Edit] en fait pas beaucoup.

Je viens de modifier mes fichiers (1) et (2), prenez bien le fichier (2).

A+
 
Dernière édition:

an@s

XLDnaute Occasionnel
Re Job,
je vais vous tracasser la tête un petit peu en vous demandant est ce possible de rajouter une instruction dans le code qui permet de classer les lignes par ordre croissant en se basant sur les données de la colonne F ??

An@s
 

an@s

XLDnaute Occasionnel
Bonjour Job, le forum

je reviens vers vous concernant le fichier REFAC Final 04 en pièce jointe:
est ce qu'il est possible de modifier le code CAP_Congés pour :
  • éliminer les lignes dont la cellule de la colonne D égale 0 comme D7, D35, D44 (feuille CAP Congés (Mens))
  • colorer en rouge les cellules négatives de la colonne D de la même feuille comme D61?

Amicalement
An@s
 

Pièces jointes

  • REFAC final(4).xlsm
    235.4 KB · Affichages: 36

job75

XLDnaute Barbatruc
Bonsoir an@s,

Il y a plusieurs solutions possibles, voici les plus simples :

1) pour colorer les valeurs < 0 appliquer à toute la colonne D une MFC avec la formule =D1<0

2) pour supprimer les valeurs = 0 compléter la macro de la feuille :

Code:
Private Sub Worksheet_Activate()
CAP_Conges.CAP_Conges "PAIE-MENS-DTE"
'---supprime les valeurs zéro en colonne D---
[D:D].Replace 0, "#N/A", xlWhole
On Error Resume Next 'si aucune valeur zéro
[D:D].SpecialCells(xlCellTypeConstants, 16).EntireRow.Delete
End Sub
Edit : bien sûr si vous voulez supprimer les zéros des 2 dernières feuilles insérez plutôt les 4 lignes complémentaires avant l'avant-dernière ligne de la macro CAP_Conges.

Je vous laisse modifier le fichier.

A+
 
Dernière édition:

an@s

XLDnaute Occasionnel
Bonsoir Job,

merci beaucoup pour votre réponse assez vite
pour la solution qui concerne l'élimination des zéro ça bien fonctionné comme je voulais.
en revanche pour la solution de la couleur de la cellule je souhaite insérer une ligne dans le code qui permet de colorer en rouge la cellule négative de la colonne D au lieu d'utiliser la MFC si cela est possible biensur

en attendant je vous souhaite douce nuit

Cordialement
An@s
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour an@s, le forum,

Alors ce code dans CAP_Conges, juste après la mise en couleur :
Code:
      '---supprime les zéros et colore les valeurs négatives en colonne D---
      [O7] = 1: [O7].Resize(i).DataSeries 'colonne auxiliaire numérotée
      [A7].Resize(i, 15).Sort [D7], xlAscending, Header:=xlNo 'tri sur colonne D
      n = Application.CountIf([D7].Resize(i), 0)
      If n Then Rows(6 + Application.Match(0, [D7].Resize(i), 0)).Resize(n).Delete: i = i - n: If i = 0 Then Exit Sub
      n = Application.CountIf([D7].Resize(i), "<0")
      If n Then [D7].Resize(n).Interior.Color = RGB(250, 98, 98) 'rouge
      [A7].Resize(i, 15).Sort [O7], xlAscending, Header:=xlNo 'ordre initial
      [O7].Resize(i) = ""
Fichier (5).

Bonne journée.
 

Pièces jointes

  • REFAC final(5).xlsm
    243.7 KB · Affichages: 42

an@s

XLDnaute Occasionnel
Bonsoir Job, le forum
je vais vous tracasser la tête encore une dernière fois pour ce sujet pour deux petites modifications :
  • dans les deux dernières feuilles les cellules qui sont négatives et qui se colorent en rouge je veux qu'ils perdent le signe moins (-) et deviennent positives, gardent la couleur rouge et puis la cellule de la colonne C de ces cellules devient Crédit au lieu de Débit
  • le 2ème point concerne la colonne G de la feuille ODA HOR : je veux qu'elle dépende de la colonne Z de la feuille PAIE-HOR (ce point n'est pas valable pour la feuille ODA MENS)
en attendant je vous souhaite bonne nuit

Cordialement
An@s
 

Pièces jointes

  • REFAC final(6.xlsm
    237.6 KB · Affichages: 26

job75

XLDnaute Barbatruc
Bonjour an@s, le forum,

Vous faites bien de revenir car il y avait une coquille dans la macro ODA pour choix = 2 ([OH7]).

Pour la 1ère question c'est facile, il suffit de compléter dans CAP_Conges :
Code:
      n = Application.CountIf([D7].Resize(i), "<0")
      If n Then
        [D7].Resize(n).Interior.Color = RGB(250, 98, 98) 'rouge
        [D7].Resize(n).Replace "-", "", xlPart
        [C7].Resize(n) = "Crédit"
      End If
et de placer le traitement des colonnes A C F H I avant.

Pour la 2ème question les feuilles "ODA" dépendant de "RECAP" j'ai revu les macros RECAP et ODA.

La colonne Z de "PAIE-HOR" est maintenant copiée en colonne K (masquée) de la feuille "RECAP".

Attention, puisqu'il y a regroupement des EOTP, c'est la 1ère Nature Comptable (NC) qui est retenue.

En feuille "PAIE-HOR" MATX9381 apparaît sous 2 NC : 920187 et 920142...

Fichier (6).

Bonne journée.
 

Pièces jointes

  • REFAC final(6).xlsm
    247.4 KB · Affichages: 29
Dernière édition:

an@s

XLDnaute Occasionnel
Bonjour Job, le forum

merci beaucoup pour votre assez vite et qui réponds toujours à mes attentes..
pour la 1ère question concernant le signe moins et le mot crédit le résultat est nickel
en revanche pour la 2ème question je ne sais pas si c'est possible pour vous de le faire mais il ne faut pas créer cette colonne K dans RECAP, donc je souhaite copier les données de la colonne Z (PAIE-HOR) dans ODA-HOR sans passer par RECAP...est ce possible?

Amicalement
An@s
 

Discussions similaires

Réponses
14
Affichages
317

Statistiques des forums

Discussions
314 663
Messages
2 111 665
Membres
111 251
dernier inscrit
jpfantin