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 :

comment puis je de mettre un RibbonX visible si la feuil "x" esiste ?


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    COMPTABLE
    Inscrit en
    Décembre 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : COMPTABLE
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2014
    Messages : 56
    Par défaut comment puis je de mettre un RibbonX visible si la feuil "x" esiste ?
    Bonjour
    j'ai créer un group dans Ribbon a partir Office CustomUI, est la forme XML est comme suiite
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
    	<ribbon startFromScratch="false">
    		<tabs>
    			<tab id="customTab" label="RA1Z">
    	<group id="conexion" label="Login">
    <button id="connexion1" label="Login" size="large" onAction="login" image="login" /></group>
     
    <group id="chiffredaffaire" label="Chiffre d'Affaire">
    <button id="chiffredaffaire01" label="Chiffre d'Affaire" size="large" onAction="ca01" image="Chiffredaffaire" getVisible="Ifsheetshow" />
     
    </group>
    			</tab>
    		</tabs>
    	</ribbon>
    </customUI>
    et le code VBA est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Ifsheetsshow(control As IRibbonControl)
    returnedVal = Worksheets("Feuil1") = visible
    End Sub
    mais le problème le groupe dans Ribbon n'a jamais apparaître
    alors ma question qu'elle est le code VBA pour afficher le groupe "Chiffre d'Affaire" du Ribbon ?

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    sans garantie que cela résolve tous les problèmes, la syntaxe que tu cherches ici serait celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Ifsheetsshow(control As IRibbonControl)
    returnedVal = Worksheets("Feuil1").Visible = xlSheetvisible
    End Sub
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre confirmé
    Homme Profil pro
    COMPTABLE
    Inscrit en
    Décembre 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : COMPTABLE
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2014
    Messages : 56
    Par défaut
    un message d'erreur :
    Nombre d'arguments incorrect ou affectation de propriété incorrecte

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    il faut ajouter ton ByRef returnedVal dans tes parametres
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre confirmé
    Homme Profil pro
    COMPTABLE
    Inscrit en
    Décembre 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : COMPTABLE
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2014
    Messages : 56
    Par défaut
    Citation Envoyé par Jean-Philippe André Voir le message
    il faut ajouter ton ByRef returnedVal dans tes parametres
    j'ai rattaché le fichier dans ce sujet
    j'ai une autre erreur (bug)

    les utilisateur
    admin
    P123

    ***************
    user1
    M123
    merci de trouvez la sollution
    cordialement
    Fichiers attachés Fichiers attachés

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 205
    Par défaut
    Bonjour,
    Hum... j'ai fait "à ma sauce" hein !

    A+
    Fichiers attachés Fichiers attachés

  7. #7
    Membre confirmé
    Homme Profil pro
    COMPTABLE
    Inscrit en
    Décembre 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : COMPTABLE
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2014
    Messages : 56
    Par défaut
    Citation Envoyé par galopin01 Voir le message
    Bonjour,
    Hum... j'ai fait "à ma sauce" hein !

    A+
    Franchement, c'est impicable votre sollution, je vais l'utiliser dans un autre stade
    --
    Si vous me donne un autre 'sauce', je veux aprés la Feuille 'Chiffre d'Affaire est visible; "groupe2" apparaite sans doute. meme si j'ai clique pas sur la feuille "Chiffre d'Affaires

    Merci
    Cordialement;

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 205
    Par défaut
    Je ne comprend pas vraiment la question !
    Si vous voulez que le groupe soit toujours visible, remplacez par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    returnedVal = Worksheets("Chiffre d'Affaire").Visible = True
    A+

  9. #9
    Membre confirmé
    Homme Profil pro
    COMPTABLE
    Inscrit en
    Décembre 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : COMPTABLE
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2014
    Messages : 56
    Par défaut
    Citation Envoyé par galopin01 Voir le message
    Je ne comprend pas vraiment la question !
    Si vous voulez que le groupe soit toujours visible, remplacez par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    returnedVal = Worksheets("Chiffre d'Affaire").Visible = True
    A+
    ce que je veux le group02 dans le custom ribbon est visible si la feuille "Chiffre d'Affaire" est visible
    si la feuille "Chiffre d'Affaire" soit invisible, le group02 in invisible aussi

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Pour réaliser cela, tu dois accompagner le code qui affiche/masque la feuille d'un Ribbon.Invalidate.

    Je note cependant que dans ton code, ce n'est pas le groupe qui possède la propriété GetVisible, mais un bouton...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  11. #11
    Membre confirmé
    Homme Profil pro
    COMPTABLE
    Inscrit en
    Décembre 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : COMPTABLE
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2014
    Messages : 56
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Salut.

    Pour réaliser cela, tu dois accompagner le code qui affiche/masque la feuille d'un Ribbon.Invalidate.

    Je note cependant que dans ton code, ce n'est pas le groupe qui possède la propriété GetVisible, mais un bouton...
    Merci beaucoup de votre réponse, pouvez vous me donner un coup de main, et dite moi le code exacte, parce que je suis débutant dans ce domaine.
    et je veux masqué le bouton, et prochainement un groupe, selon le cas


    Cordialement

  12. #12
    Membre confirmé
    Homme Profil pro
    COMPTABLE
    Inscrit en
    Décembre 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : COMPTABLE
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2014
    Messages : 56
    Par défaut
    j'ai trouvé une autre solution,
    c'est de supprimer getVisible, puis
    ajouter ce code pour le bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub saisieca01(control As IRibbonControl)
    On Error Resume Next
    Dim Rp01
    Rp01 = Application.WorksheetFunction.VLookup(Range("username"), Range("Tableau1"), 5, 0)
    If Rp01 = "" Then
    MsgBox "Vous n'etes pas autorisés à effectuer cette tâche", vbOKCancel + vbOKCancel
    End If
     
    If Rp01 = "oui" Then
    SaisieCA.Show
    End If
     
    End Sub

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/07/2012, 22h16
  2. Réponses: 3
    Dernier message: 04/11/2010, 13h03
  3. comment puis je mettre une image en arrière plan
    Par petitchat_miau dans le forum VBA PowerPoint
    Réponses: 2
    Dernier message: 19/09/2010, 12h34
  4. Réponses: 1
    Dernier message: 22/04/2010, 00h32
  5. Comment puis-je mettre un include dans une variable
    Par pierrot10 dans le forum Langage
    Réponses: 17
    Dernier message: 31/08/2006, 08h45

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