Purger code macros

Bonjour à tous,

J'aurais besoin d'un petit coup de main pour purger le code de mes macros (que j'ai réalisé en utilisant l'enregistreur) car j'ai surtout une macro qui me fait un bug d'affichage, il s'agit de la macro "Sup_ligne_JM" (la 2eme macro de la liste):

'List Macro JM

Sub Nouveau_Contact_JM()
'
' Nouveau_Contact_Com_2 Macro
'
    Range("A14").Select
    Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
    Sheets("Annexe").Select
    Range("A6:AA6").Select
    Selection.Copy
    Sheets("JM").Select
    Range("A14").Select
    ActiveSheet.Paste
    Range("A14").Select

' création d'une nouvelle ligne dans planning JM

    Sheets("Planning JM").Select
    Range("B12").Select
    Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
    Sheets("JM").Select
    Range("C14").Select

' Copie de formule pour planning JM
    Sheets("Planning JM").Select
    Range("A13:F13").Select
    Selection.AutoFill Destination:=Range("A12:F13"), Type:=xlFillDefault
    Range("A12:F13").Select
    Range("F12").Select
    Sheets("JM").Select
    Range("C14").Select

End Sub

Sub Sup_ligne_JM()
' Sup_ligne Macro

    Range("B14").Select
    Selection.EntireRow.Delete

Sheets("Planning JM").Select
    Range("E12").Select
    Selection.EntireRow.Delete

    Sheets("Planning Com").Select
    Range("E11").Select
    Selection.EntireRow.Delete

    Sheets("JM").Select
    Range("B14").Select

End Sub

Sub masquer_colonnes_Planning_JM()
' masquer_afficher_colonnes Macro

    Selection.EntireColumn.Hidden = True

End Sub

Sub afficher_colonnes_Planning_JM()
'
' masquer_afficher_colonnes Macro
'
    Selection.EntireColumn.Hidden = False

End Sub

Merci d'avance pour votre aide

Bonjour,

    Range("A14").Select
    Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove

    Sheets("Annexe").Select
    Range("A6:AA6").Select
    Selection.Copy
    Sheets("JM").Select
    Range("A14").Select
    ActiveSheet.Paste
    Range("A14").Select

peut s'écrire:

    Range("A14").EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove 'attention la feuille n'est pas précisée

    Sheets("Annexe").Range("A6:AA6").Copy     Sheets("JM").Range("A14")

adapter pour le reste du code...

Quant au bug il faudrait plus de précisions...

A+

Bonjour Algo Plus, et a tous,

Merci pour ta variante d'écriture du code.

Voici le souci lorsque je clic sur ma macro supprimer ligne, celle-ci me supprime une ligne sur la feuille actuel mais aussi sur une autre feuille (planning) mais comme vous pouvez le voir sur la photo j'ai un bug d'affichage qui apparait

J'ai fais ma macro a partir de l'enregistreur et donc je pense qu'il confond et chevauche les 2 feuilles où la macro doit agir (par contre si je change de feuille et que je reviens le bug d'affichage disparait). Sinon la macro s’exécute correctement si on ne compte pas le bug d'affichage.

zmsn

PS: le bug d'affichage n'est pas systématique, parfois le bug n'apparait pas.

bonjour

salut AlgoFlash au passage

mon point de vue : ne jamais effacer de données. Il suffit de filtrer les tableaux dans Excel (d'après une colonne "Ligne terminée" )

simple, fiable, conserve les historiques, permet toutes les statistiques voulues avec des TCD

pas de formules, pas de VBA, rien !

c'est un fichier de prospection ?

partagé ?

qui t'appartient ou appartient à l'entreprise ?

amitiés

Bonjour jmd

oui tu as raison, je crois que je vais finir par virer la macro supprimer c'est plus simple, comme ça si quelqu'un veux supprimer des données il faudra qu'il vienne me voir.

Oui enfin c'est plus complexe que ça, j'ai créer un fichier pour mon entreprise qui prend en compte :

  • la prospection (avec stat origine des prospects, planning, temps passer par dossier etc)
  • une partie bureau d'étude avec planification (temps passer aux études dessin chiffrage etc)
  • une partie travaux (temps passer, entreprises sélectionner, amélioration ou perte de marge etc)
  • une partie global qui réuni les stats de chacun, les regroupes, fait des stat de stat lol etc

Au total mon fichier fait 30 feuilles pour environ 30 macros aussi.

Et oui le fichier est partagé pour que plusieurs personnes puissent l'utiliser en même temps... du coup impossible de travailler en tableau... seulement en plage.... pas facile mais on y arrive quand même.

Il m'appartient pour le moment en effet mais je l'ai fait pour l'entreprise (je suis adjoint de direction, fils du président du groupe)

J'ai une tite question quand même :

Je me suis rendu compte que si je fais une macros qui doit agir sur 2 feuilles dont 1 feuille masqué celle-ci ne fonctionne pas... Avez-vous une solution?

re

pour la macro sur feuille cachée, suggestion d'ajouter une instruction de démasquer au début de la macro, puis masquer en fin de macro

mais bon, tu as fait un truc déraisonnable !

il est temps de passer à un SGBD (Access etc.) qui donnera breauuuuuucoup plus de souplesse et de fiabilité d'emploi.

ou bien un progiciel tout fait

amitiés

Rechercher des sujets similaires à "purger code macros"