Faire une macro pour corriger un tableau (supp des lignes avec critères)

Y compris Power BI, Power Query et toute autre question en lien avec Excel
d
dyfranco
Jeune membre
Jeune membre
Messages : 39
Inscrit le : 11 février 2019
Version d'Excel : 2010 pc

Message par dyfranco » 25 avril 2019, 09:23

Bonjour, chaque mois je reçois un tableau de près de 800 lignes et une vingtaines de colonnes. :lole:

Ce tableau est brut il n'y a aucune formule ni macro.
J'aimerai créer une macro que je puisse utiliser une fois chaque mois pour l'incrémenter dans le nouveau tableau reçu et qui fasse en automatique :, les tâches suivantes

1) supprimer les lignes total salariés par centre de frais (ici A13 puis A21 puis A30 puis A44) ->comment trouver un critère pour supprimer ces lignes? L'idée est de pouvoir additionner les lignes tout en bas des colonnes E-F-G-H sans tenir compte des totaux intermédiaires qui font doublon et qui fausse les stats
2) ajouter une colonne après M pour avoir l'âge par rapport à la date d'aujourd'hui
3) ajouter une colonne après Q pour avoir la durée de la mission par rapport à la date d'aujourd'hui

bref je maîtrise pas trop les macros ni surtout comme automatiser la suppression de lignes avec un critère comme un total intermédiaire, je joins ici le modèle du tableau (j'ai supprimé des lignes avant, si je comprends la macro avec votre aide je pourrais ensuite la modifier pour l'appliquer au tableau complet, puis faire de même chaque mois.. :wink:

Par la suite, l'idée finale étant qu'une fois la macro appliqué je me lancerai dans une seconde macro avec tableaux dynamiques croisés (la aussi avez vous un lien ou je puisse comprendre l'ajout d'une macro type TDC)? :oops: pour ressortir des stats et des graphiques dynamiques

Je vous joins un extrait du fichier
Merci à vous
merci
Base Postes CMSO 31032019 simplifiée.xlsx
extrait du tableau (le complet faisant 800 lignes et 20 colonnes)
(16.5 Kio) Téléchargé 7 fois
Avatar du membre
Baboutz
Membre fidèle
Membre fidèle
Messages : 415
Appréciations reçues : 33
Inscrit le : 19 avril 2019
Version d'Excel : 2016 FR

Message par Baboutz » 25 avril 2019, 09:44

Salut dyfranco,

Tu aimerais lancer ces macros automatiquement quand exactement ? En appuyant sur un bouton depuis un autre fichier ? A l'ouverture du fichier ? Autre ?

1) Hum.. il me faut plus d'infos pour t'aider : ces lignes sont toujours les mêmes (A13, A21, A30, A44) ? Sont-elles toujours de couleurs gris foncé ?

2) Après M :
Columns(14).Insert
3) Après Q :
Columns(18).Insert
d
dyfranco
Jeune membre
Jeune membre
Messages : 39
Inscrit le : 11 février 2019
Version d'Excel : 2010 pc

Message par dyfranco » 25 avril 2019, 10:10

Bonjour merci pour ta réponse, voici le séquencement attendu :) en semi "automatique"

Idéalement, chaque mois j' ouvre le nouveau fichier reçu "brut"

1)J'insèrerai dans ce nouveau fichier un "bouton" sur lequel cliquer qui exécute une première macro pré-établie (ou un bouton présent sur un autre fichier qui agisse sur le fichier reçu)

->la première macro effectue les tâches citées dans mon premier post(1/suppression des lignes intermédiaires de total de lieu, qui oui sont toujours de cette couleur gris foncé, mais qui d'un mois à l'autre peuvent changer de numéro de ligne selon si le lieu supprime ou rajoute un poste salarié , la seule règle que j'identifie est qu'elles sont toujours placées à la fin du lieu - 2/ ajouter une colonne après M pour avoir l'âge par rapport à la date d'aujourd'hui - 3/ ajouter une colonne après Q pour avoir la durée de la mission par rapport à la date d'aujourd'hui )

2)après la macro première exécutée, j'aimerai avoir avec un second "bouton" à cliquer, pour générer sur une seconde feuille de calcul, un TDC avec l"ensemble des critères du tableau corrigé par la première macro

4)enfin après le TDC mis en place sur la seconde feuille de calcul, lui lier un ou plusieurs graphiques dynamiques sur la troisième feuille de calcul pour illustrer le TCD

Ca me parait jouable sur le papier mais une montagne pour mon faible niveau d'excel....
Avatar du membre
Baboutz
Membre fidèle
Membre fidèle
Messages : 415
Appréciations reçues : 33
Inscrit le : 19 avril 2019
Version d'Excel : 2016 FR

Message par Baboutz » 25 avril 2019, 10:34

Voici le code dont tu as besoin :
Sub Nettoyage_Tableau()

    Dim maligne As String

    For Each cell In Range("A1:A2000")
    
        If cell.Interior.Color = RGB(153, 153, 153) Then
        
            maligne = cell.Row
            Rows(maligne).EntireRow.Delete
            maligne = ""
        
        End If
        

    Next cell
    
    Columns(18).Insert
    Columns(14).Insert
    

End Sub
Tu n'as plus qu'à le mettre sur un bouton.
As-tu un fichier Excel "de base" où tu regroupes tous ces tableaux à l'état brut ? Il serait plus intelligent de mettre la macro sur ce fichier que de recopier la macro à chaque fois ;;)
Sinon tu créées un fichier Excel juste avec ta macro que tu pourras utiliser une fois par mois.

Pour ce qui est des TDC, je ne m'y connais pas vraiment... Je laisse quelqu'un de meilleur dans ce domaine pour t'aider ! :)
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message