Comment attribuer des colonnes fixes a une macro?

jardibot

XLDnaute Junior
Bonsoir,
Voila j'ai créer un petit exemple en piece jointe.

J'ai fait un tableau de 7 colonnes, puis enregistré une macro qui en masque trois d'entre elles.
Si dans ce tableau j'ajoute une colonne entre la colonne A et la colonne B, et que j'execute ma macro, celle-ci prend en compte la colonne ajoutée et modifie donc ma macro initial.

Comment faire pour que si j'ajoute des colonnes dans ce tableau, que ma macro elle ne soit pas affectée?

Je ne souhaite pas refaire ma macro a chaque fois que je modifie mon tableau!!!

Merci à vous tous
 

Pièces jointes

  • Problème macro.xlsm
    20 KB · Affichages: 64
  • Problème macro.xlsm
    20 KB · Affichages: 68
  • Problème macro.xlsm
    20 KB · Affichages: 67

saya

XLDnaute Nouveau
Re : Comment attribuer des colonnes fixes a une macro?

bonsoir jardibot, le forum,

Juste une petite précision : tu souhaites que ta macro essai ne masque que les colonnes Attibution, Mode de production et Quantité à produire (auquel cas une nouvelle colonne insérée dans ton tableau ne serait pas masquée), ou qu'elle masque toutes les colonnes de ton tableau sauf Année, n° intro, genre et espèce ?

Bonne soirée,
Saya
 

jardibot

XLDnaute Junior
Re : Comment attribuer des colonnes fixes a une macro?

Bonsoir,
disons plutot que je ne souhaite conserver que lescolonnes année, n intro, genre; espece et pas une de plus.

Et le probleme est que mon tableau est en perpétuel croissance donc il a des clonnes qui s ajoute par moment et qui s'ajoute entre la colonne A et la colonne B.
Mais ceci entraine des modifications dans ma macro, alors que je souhaite que ma macro restee figé et conserve uniquement la colonne année n intro, genre, espece.

J'espere avoir pu détailler au mieux mon probleme.
 

gfortin9

XLDnaute Occasionnel
Re : Comment attribuer des colonnes fixes a une macro?

Allô!

Un essai : utilie le mot "Attribution" sur la ligne 1 comme repère pour supprimer cette colonne (quelque soit sa position) et les deux colonnes suivantes.

Code:
Sub essai()
'
' essai Macro
Dim CColonne As Byte

    Range("A1:z1").Select
    Selection.Find(What:="Attribution", After:=ActiveCell, LookIn:=xlFormulas _
        , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate

   CColonne = ActiveCell.Columns(ActiveCell.Columns.Count).Column

   Columns(CColonne).EntireColumn.Hidden = True
   Columns(CColonne + 1).EntireColumn.Hidden = True
   Columns(CColonne + 2).EntireColumn.Hidden = True
   
   Range("A2").Select
End Sub

J'ai utilisé 3 opérations pour cacher les 3 colonnes, car je ne sais pas comment le faire en une seule opération.

gf
 

saya

XLDnaute Nouveau
Re : Comment attribuer des colonnes fixes a une macro?

Bonsoir à tous,

En utilisant la même technique que gfortin9, voici une proposition pour n'afficher que les 4 colonnes qui t'intéressent et masquer les autres, puis tout faire réapparaitre.
Il est possible d'insérer de nouvelles colonnes sans que cela modifie la macro.

En espérant que cela t'aide,

bonne soirée,
Saya
 

Pièces jointes

  • Copie de Problème macro.xlsm
    25.4 KB · Affichages: 73
  • Copie de Problème macro.xlsm
    25.4 KB · Affichages: 77
  • Copie de Problème macro.xlsm
    25.4 KB · Affichages: 79

jardibot

XLDnaute Junior
Re : Comment attribuer des colonnes fixes a une macro?

Merci a vous deux pour votre aide.

J"ai ouvert ton fichier saya et fait des essais oui ca marche. Je voulais savoir si le code c'est vous qui l'écrivez en entier? ou vous faites un copier coller de certaine ligne?
En faite j'ai une base de données énorme a gérer et si je prends l exemple de ton code ca va etre long. Avez vous une technique particulière pour ecrire les codes? je débute alors je suis pleins de questions.

J'en profite pour vous demandez si il y a une fonction qui permet de revenir avant la macro? J'ai fait un bonton actualiser mais peut etre il exsite un bouton pour revenir avant n'importe quelle type de macro.

merciii beaucoup
bonne nuit
 
Dernière édition:

saya

XLDnaute Nouveau
Re : Comment attribuer des colonnes fixes a une macro?

Bonjour jardibot, le forum,

J'écris le code, mais dans ce cas précis, par ex, je fais des copier-coller de certaines parties qui se répètes, en modifiant juste les noms de variables.

Il y a une autre façon de faire, qui permet d'accélérer beaucoup l'écriture du code : si dans le code tu as une série d'actions qui est effectuée de nombreuses fois, avec juste des variables qui changent, tu peux créer une fonction. Comme ça, tu codes la série d'actions une seule fois, et tu appelles ta fonction dans ton code principal.

Je t'ai réécris le code que je t'ai envoyé précédemment en utilisant cette technique. Dans ce cas précis, je n'avais pas beaucoup de lignes de code, donc l'effet n'est pas spectaculaire, mais parfois, ça fait vraiment gagner beaucoup de temps de codage ^^

Je ne connais pas de moyen de revenir à l'état avant une macro, à part, comme tu l'avais fait, en codant le chemin inverse. Mais d'autres en savent bien plus long que moi et ont peut-être une solution :)

bonne journée,
Saya
 

Pièces jointes

  • Copie de Problème macro.xlsm
    26.3 KB · Affichages: 57
  • Copie de Problème macro.xlsm
    26.3 KB · Affichages: 61
  • Copie de Problème macro.xlsm
    26.3 KB · Affichages: 62

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 247
Messages
2 086 591
Membres
103 248
dernier inscrit
Happycat