Masquer toutes les colonnes ayant le mot MASQUE1 sur la ligne 1

  • Initiateur de la discussion sebastien
  • Date de début
S

sebastien

Guest
Masquer toutes les colonnes ayant le mot MASQUE1 sur la ligne 1

Bonjour,

Je souhaite faire une macro masquant automatiquement toutes les colonnes où sur une ligne le mot MASQUE1 est inscrit.
J'aimerais que ce test s'arrete automatiquement.
Il y aura plus de 4 colonnes, et je ne peux donc pas faire un test avec un boucle allant de 1 à 4.Mon idee de depart etait de compter le nombre de fois que le mot 'MASQUE1' est affiche sur toute la ligne 1 et ensuite faire un test a chaque fois et masquer au fur et à mesure.

J'aimerais idéalement que cet unique bouton puisse masquer et afficher.

Exemple :
Colonne A Colonne B Colonne C Colonne D
Ligne 1 MASQUE1 MASQUE1
Ligne 2 25 35 85 2

Résultat après macro executée.
Colonne B Colonne D
Ligne 1
Ligne 2 35 2

D'avance merci pour votre aide et longue vie au forum.

Sébastien
 
S

schmail

Guest
Bonsoir Sébastien et le forum

Cacher une colonne si une des cellules a un le mot "Préposé" dedans, par DeLand
Option Explicit
Option Compare Text
Sub hideprops()
dim c As range
for each c in usedrange
if c.String Like "*Préposé*" then
c.EntireColumn.Hidden = true
end if
next c
end Sub
'PS : Il y a une autre manière d'effectuer ceci, avec la méthode de recherche find, ce qui est d'ailleurs plus efficace.

Tiens je t'ai trouvé cela sur http://xlbysteph.free.fr/
J'espère que tu y trouveras ton bonheur @+
 
S

sebastien

Guest
Re-Hello,
ha je ne suis pas certain de bien comprendre cette macro je n'arrive pas a m'en servir, est-il possible qu'une personne mette le fichier xls dans une reponse.
D'avance merci
Sebastien
 
V

Valérie

Guest
Salut Sébastien,

Pas refaire ce que schmail a fait mais simplement ajouter quelques modif pour que cela fonctionne :

Sub hideprops()

Dim c As Range
For Each c In ActiveSheet.UsedRange
If c = "MASQUE1" Then c.EntireColumn.Hidden = True
Next c

End Sub

Mais de toute façon Sébastien il serait judicieux que tu comprennes un minimum ce que tu fais sinon tu ne pourras jamais obtenir ce que tu veux!!!

Alors essaies de te creuser la tête avant d'attendre des réponses toutes faites, on est là pour aider pas pour créer à votre place!!

@+
Valérie
 
S

sebastien

Guest
Bonjour Valérie,

un grand merci pour ton aide. Je n'ai pas de formation initiale en programmation et encore moins en VBA et je souhaite comprendre un maximum de chose.

C’est pourquoi je vous sollicite autant. En relisant mon premier message je vois bien que je partais sur une fausse piste il me reste des notions de mes anciens cours d’informatique rudimentaire du style de bonnes vielles boucles For et Next, mais rien du tout en objet.

Je trouve malgré tout que tu y vas un peu fort avec moi mais je te comprends.

Je te remercie encore 1000 fois Valérie pour ton aide et ton script corrigé va me faire gagner un temps précieux.

Cordialement
Sébastien
 
S

sebastien

Guest
Bonjour Valérie,

Je te remercie, oui cela fonctionne parfaitement bien, tu ne m'as pas froissé au contraire cela me motive pour essayer de comprendre encore plus vite.

Encore merci

Sebastien
 

Discussions similaires

Réponses
2
Affichages
205
Réponses
6
Affichages
162

Statistiques des forums

Discussions
312 389
Messages
2 087 933
Membres
103 678
dernier inscrit
bibitm