IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Affiche et masque une plage de cellules


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Projeteur
    Inscrit en
    Juillet 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Projeteur

    Informations forums :
    Inscription : Juillet 2018
    Messages : 4
    Par défaut Affiche et masque une plage de cellules
    Bonjour à tous,

    a l'aide !!!
    je ne connais pas trop le langage VBA.

    Je désire quand j'écris 1 ou 2 dans une case
    que l'image 1 ou 2 apparaisse
    et que je cache des cellules quand j'ai 1 mais pas 2.

    voici mon petit prog.
    La première partie fonctionne bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Function AfficheCache(nb, seuil, image)
     If nb = seuil Then
       ActiveSheet.Shapes(image).Visible = True
     Else
       ActiveSheet.Shapes(image).Visible = False
     End If
     AfficheCache = 0
    End Function
     
    Sub Affiche(nb, seuil, tableau)
     If nb = seuil Then
       Range(tableau).Visible = False
     Else
       Range(tableau).Visible = True
     End If
     AfficheCache = 0
    End Sub
    et dans 2 cellules, j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    =(affichecache(AE4;1;"Motor1"))
    =(affichecache(AE4;2;"Motor2"))
    merci de votre aide

  2. #2
    Membre expérimenté

    Homme Profil pro
    Technical Account Manager
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technical Account Manager

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Billets dans le blog
    1
    Par défaut
    Bonjour kawabush,

    Pour afficher ou masquer une plage de cellules en vba, tu peux utiliser la méthode Hidden.
    Elle correspond à l'action proposée par excel quand tu fais un clic droit sur une ligne ou une colonne (capture d'écran en pièce jointe)
    Du coup, si tu l'utilises dans ton programme cela donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Function AfficheCache(nb, seuil, image)
     If nb = seuil Then
       ActiveSheet.Shapes(image).Visible = True
     Else
       ActiveSheet.Shapes(image).Visible = False
     End If
     AfficheCache = 0
    End Function
     
    Sub Affiche(nb, seuil, tableau)
     If nb = seuil Then
       Range(tableau).EntireRow.Hidden = True
     Else
       Range(tableau).EntireRow.Hidden = False
     End If
     AfficheCache = 0
    End Sub
    Tu peux utiliser cette méthode de 2 façons : masquer les lignes ou les colonnes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Range(tableau).EntireRow.Hidden = True
    Range(tableau).EntireColumn.Hidden = True
    Je reste disponible pour plus d'explications sur ce sujet,
    Cordialement,
    BDA53
    Images attachées Images attachées  

  3. #3
    Membre expérimenté

    Homme Profil pro
    Technical Account Manager
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technical Account Manager

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Billets dans le blog
    1
    Par défaut
    Attention j'ai modifié le post précédent les valeurs True/False n'étaient pas au bon endroit pour la méthode Hidden.
    Maintenant avec le post modifié c'est good

  4. #4
    Membre à l'essai
    Homme Profil pro
    Projeteur
    Inscrit en
    Juillet 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Projeteur

    Informations forums :
    Inscription : Juillet 2018
    Messages : 4
    Par défaut
    Bonjour BDA53,

    Merci pour ta solution, mais cela ne marche pas.
    Voici une capture d'écran qui explique:
    si le nombre de moteur = 1 j'affiche image1 sinon 2 et image 2

    et les cellules en gris sont invisibles pour le nombre 1 uniquement

    Je joins aussi mon fichier excel

    merci

    Bonne journéeNom : Capture.PNG
Affichages : 2320
Taille : 42,5 Koessai.xlsm

  5. #5
    Membre expérimenté

    Homme Profil pro
    Technical Account Manager
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technical Account Manager

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Billets dans le blog
    1
    Par défaut
    D'accord je comprends un peu mieux ta demande. Du coup plusieurs questions me viennent à l'esprit :

    Tes variables nb, seuil, image, tableau sont déclarées et initialisées dans une procédure ?
    Si oui que contiennent-elles ?
    Si non que faut-il comme contenu dans tes variables ?
    Le but est d'afficher / masquer un ou plusieurs tableaux ?

  6. #6
    Membre à l'essai
    Homme Profil pro
    Projeteur
    Inscrit en
    Juillet 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Projeteur

    Informations forums :
    Inscription : Juillet 2018
    Messages : 4
    Par défaut
    nb est le chiffre 1 ou 2 (number motor)
    seuil est soit 1 ou 2
    image est Motor1 ou Motor2

    le but est d'afficher ou masquer les cellules ad12 à 16 et af12 à 16 aisni que les 2 dernières lignes du tableau (M2)
    et de pouvoir afficher une image en fonction du choix.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Afficher ou Masquer une plage de cellule en cliquant sur bouton
    Par olivier777 dans le forum Excel
    Réponses: 8
    Dernier message: 22/05/2019, 11h17
  2. [XL-2010] Afficher une plage de cellule dans une autre feuille sous condition
    Par esimo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/08/2016, 17h54
  3. [VBA] Parcourir une plage de cellule
    Par Dinytro dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/09/2005, 08h18
  4. [VBA-E] Image d'une plage de cellule
    Par flogreg dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/07/2004, 12h30
  5. [VBA-E] [Excel] Protection d'une plage de cellules
    Par fikou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/11/2002, 11h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo