Ribbon

Bonjour,

il y a peu j'ai remarque que lorsque que j'ouvrai mon document excel contenant mon code pour un ruban personnalisé le programme avait une erreur 5, et cela seulement si un autre fichier excel était ouvert.

Vous me direz " Ferme tout fichier ou celui qui pose problème et ré-ouvre le fichier fermer précedement " mais je ne 'peux' pas.

Je cherche donc un moyen de cibler le code qui me donne l'erreur

le code :

 

Private Sub Workbook_Open()
    Dim CmdBar As CommandBar
    Dim Bouton As CommandBarButton

    'Création de la barre d'outils nommée 'MaBarrePerso'
    Set CmdBar = Application.CommandBars.Add(Name:="Rechercher", Position:=msoBarTop, Temporary:=True) ' ICI 

    'Ajout d'1 bouton dans la barre d'outils
    Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
    With Bouton
        .Caption = "Rechercher"
        'Définit "l'image" qui va s'afficher sur le bouton
        .FaceId = 25
        'Définit quelle macro est associée au bouton.
        'Cette macro sera lancée à chaque fois que vous cliquez sur le bouton.
        .OnAction = "Cherche_suivant"
        .Style = msoButtonIconAndCaptionBelow
        .TooltipText = "Recherche dnas la colonne CLIENT le(s) nom(s) correspondant(s)"
    End With

        CmdBar.Visible = True

    'Création de la barre d'outils nommée 'MaBarrePerso'
    Set CmdBar = Application.CommandBars.Add(Name:="Suivant", Position:=msoBarTop, Temporary:=True)

    'Ajout d'1 bouton dans la barre d'outils
    Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
    With Bouton
        .Caption = "Suivant"
        'Définit "l'image" qui va s'afficher sur le bouton
        .FaceId = 133
        'Définit quelle macro est associée au bouton.
        'Cette macro sera lancée à chaque fois que vous cliquez sur le bouton.
        .OnAction = "Cherche_suivant"
        .Style = msoButtonIconAndCaptionBelow
        .TooltipText = "Passe au prochain nom correspondant"
    End With

        CmdBar.Visible = True

    'Création de la barre d'outils nommée 'MaBarrePerso'
    Set CmdBar = Application.CommandBars.Add(Name:="    ", Position:=msoBarTop, Temporary:=True)

    'Ajout d'1 bouton dans la barre d'outils
    Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
    With Bouton
        'Définit "l'image" qui va s'afficher sur le bouton
        .FaceId = 1
    End With

        CmdBar.Visible = True

        'Création de la barre d'outils nommée 'MaBarrePerso'
    Set CmdBar = Application.CommandBars.Add(Name:="Impression commande CVR", Position:=msoBarTop, Temporary:=True)

    'Ajout d'1 bouton dans la barre d'outils
    Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
    With Bouton
        'Définit "l'image" qui va s'afficher sur le bouton
        .FaceId = 986
        'Définit quelle macro est associée au bouton.
        'Cette macro sera lancée à chaque fois que vous cliquez sur le bouton.
        .OnAction = "Impression_cde_CVR"
        .Caption = "Impression commande CVR"
        .Style = msoButtonIconAndCaptionBelow
        .TooltipText = "Ouvre le fichier Bon de commande CVR"
    End With

        CmdBar.Visible = True

    'Création de la barre d'outils nommée 'MaBarrePerso'
    Set CmdBar = Application.CommandBars.Add(Name:="Modification commande CVR", Position:=msoBarTop, Temporary:=True)

    'Ajout d'1 bouton dans la barre d'outils
    Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
    With Bouton
        'Définit "l'image" qui va s'afficher sur le bouton
        .FaceId = 3272
        'Définit quelle macro est associée au bouton.
        'Cette macro sera lancée à chaque fois que vous cliquez sur le bouton.
        .OnAction = "Modif_cde_CVR"
        .Caption = "Modification commande CVR"
        .Style = msoButtonIconAndCaptionBelow
        .TooltipText = " "
    End With

        CmdBar.Visible = True

    'Création de la barre d'outils nommée 'MaBarrePerso'
    Set CmdBar = Application.CommandBars.Add(Name:="      ", Position:=msoBarTop, Temporary:=True)

    'Ajout d'1 bouton dans la barre d'outils
    Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
    With Bouton
        'Définit "l'image" qui va s'afficher sur le bouton
        .FaceId = 1
    End With

        CmdBar.Visible = True

        'Création de la barre d'outils nommée 'MaBarrePerso'
    Set CmdBar = Application.CommandBars.Add(Name:="Impression ordre livraison (n°lot)", Position:=msoBarTop, Temporary:=True)

    'Ajout d'1 bouton dans la barre d'outils
    Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
    With Bouton
        'Définit "l'image" qui va s'afficher sur le bouton
        .FaceId = 986
        'Définit quelle macro est associée au bouton.
        'Cette macro sera lancée à chaque fois que vous cliquez sur le bouton.
        .OnAction = "Cde_des_VR_lot"
        .Caption = "Impression ordre livraison (n°lot)"
        .Style = msoButtonIconAndCaptionBelow
        .TooltipText = "Imprime l'ordre de livraison en fonction des numéros de lots"
    End With

        CmdBar.Visible = True

        'Création de la barre d'outils nommée 'MaBarrePerso'
    Set CmdBar = Application.CommandBars.Add(Name:="Impression ordre livraison (n°commande)", Position:=msoBarTop, Temporary:=True)

    'Ajout d'1 bouton dans la barre d'outils
    Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
    With Bouton
        'Définit "l'image" qui va s'afficher sur le bouton
        .FaceId = 986
        'Définit quelle macro est associée au bouton.
        'Cette macro sera lancée à chaque fois que vous cliquez sur le bouton.
        .OnAction = "Cde_des_VR_cde"
        .Caption = "Impression ordre livraison (n°commande)"
        .Style = msoButtonIconAndCaptionBelow
        .TooltipText = "Imprime l'ordre de livraison en fonction des numéros de commandes"
    End With

        CmdBar.Visible = True

        'Création de la barre d'outils nommée 'MaBarrePerso'
    Set CmdBar = Application.CommandBars.Add(Name:="Impression planning par jour", Position:=msoBarTop, Temporary:=True)

    'Ajout d'1 bouton dans la barre d'outils
    Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
    With Bouton
        'Définit "l'image" qui va s'afficher sur le bouton
        .FaceId = 986
        'Définit quelle macro est associée au bouton.
        'Cette macro sera lancée à chaque fois que vous cliquez sur le bouton.
        .OnAction = "Impr_planning_jour"
        .Caption = "Impression planning par jour"
        .Style = msoButtonIconAndCaptionBelow
        .TooltipText = "Imprime le planning du jour en fonction de la semaine demandée"
    End With

        CmdBar.Visible = True

        'Création de la barre d'outils nommée 'MaBarrePerso'
    Set CmdBar = Application.CommandBars.Add(Name:="Impression du planning complet", Position:=msoBarTop, Temporary:=True)

    'Ajout d'1 bouton dans la barre d'outils
    Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
    With Bouton
        'Définit "l'image" qui va s'afficher sur le bouton
        .FaceId = 986
        'Définit quelle macro est associée au bouton.
        'Cette macro sera lancée à chaque fois que vous cliquez sur le bouton.
        .OnAction = "Impr_du_Planning"
        .Caption = "Impression du planning complet"
        .Style = msoButtonIconAndCaptionBelow
        .TooltipText = "Imprime le planning complet de la semaine demandée"
    End With

        CmdBar.Visible = True

        'Création de la barre d'outils nommée 'MaBarrePerso'
    Set CmdBar = Application.CommandBars.Add(Name:="Impression CVR livraison", Position:=msoBarTop, Temporary:=True)

    'Ajout d'1 bouton dans la barre d'outils
    Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
    With Bouton
        'Définit "l'image" qui va s'afficher sur le bouton
        .FaceId = 986
        'Définit quelle macro est associée au bouton.
        'Cette macro sera lancée à chaque fois que vous cliquez sur le bouton.
        .OnAction = "Impr_CVR_Livraison"
        .Caption = "Impression CVR livraison"
        .Style = msoButtonIconAndCaptionBelow
        .TooltipText = " "
    End With

        CmdBar.Visible = True

        'Création de la barre d'outils nommée 'MaBarrePerso'
    Set CmdBar = Application.CommandBars.Add(Name:="Impression commandes soldées", Position:=msoBarTop, Temporary:=True)

    'Ajout d'1 bouton dans la barre d'outils
    Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
    With Bouton
        'Définit "l'image" qui va s'afficher sur le bouton
        .FaceId = 986
        'Définit quelle macro est associée au bouton.
        'Cette macro sera lancée à chaque fois que vous cliquez sur le bouton.
        .OnAction = "Cond_exp"
        .Caption = "Impression commandes soldées"
        .Style = msoButtonIconAndCaptionBelow
        .TooltipText = "Imprime la liste des commandes soldées de la semaine demandée"
    End With

        CmdBar.Visible = True

        'Création de la barre d'outils nommée 'MaBarrePerso'
    Set CmdBar = Application.CommandBars.Add(Name:="Visu_NC", Position:=msoBarTop, Temporary:=True)

    'Ajout d'1 bouton dans la barre d'outils
    Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
    With Bouton
        'Définit "l'image" qui va s'afficher sur le bouton
        .FaceId = 931
        'Définit quelle macro est associée au bouton.
        'Cette macro sera lancée à chaque fois que vous cliquez sur le bouton.
        .OnAction = "Visu_NC"
        .Caption = "Visu_NC"
        .Style = msoButtonIconAndCaptionBelow
        .TooltipText = "Affiche le numéro NC recherché"
    End With

        CmdBar.Visible = True

End Sub

L'erreur se situe au niveau du commentaire "ICI".

Je cherche donc un moyen de dire "J'applique cette ligne sur CE fichier" un peut comme le "Workbooks("nom du fichier").Sheets("nom de la feuille")....."

Je précise aussi que le code est situé dans "ThisWorkbook"

Merci d'avance.

Cordialement.

Arthur.

bonjour,

Je ne comprend pas pourquoi tu t'obstines avec ce code alors que je t'ai fait un ribbon perso sur-mesure pour ce fichier ?

A+

bonjour,

Je ne comprend pas pourquoi tu t'obstines avec ce code alors que je t'ai fait un ribbon perso sur-mesure pour ce fichier ?

A+

Salut galopin01, ton ribbon perso sur mesure est super, ... chez moi.

Je peut faire la manipulation chez moi cela fonctionne, mais dans l'entreprise ou je travaille je ne peut pas, donc je ne peut utiliser ton ribbon perso malheureusement .

C'est aussi pour cela que je recherche une solution alternative à CustomUI, j'avait déjà trouver cette méthode mais lors de ma réponse voyant les efforts fournie et l'oublie de ma pars de pourquoi je n'avait pas fait cette méthode j'ai clôturé le sujet.

Je ne dirai pas non pour avoir de nouveau ton aide , si tu sais s'il existe un moyen d'affecter cette commande à un fichier je suis preneur .

Cordialement.

Arthur.

Bonjour,

Je ne comprends pas pour quelle raison ton fichier (CustomUI) ne fonctionne pas !

Peux-tu en dire plus?

Des versions Excel différentes (Excel 2007 et Excel 2010+)?

Cdlt.

Bonjour,

Je ne comprends pas pour quelle raison ton fichier (CustomUI) ne fonctionne pas !

Peux-tu en dire plus?

Des versions Excel différentes (Excel 2007 et Excel 2010+)?

Cdlt.

Bonjour Jean-Eric,

Je ne dit pas que le fichier avec CustomUI ne fonctionne pas, chez moi il fonctionne mais à l'endroit ou je travail je n'ai pas la possibilité d'utiliser CustomUI afin de faire ce que l'on me propose de faire, c'est pour cela que je cherche une alternative a CustomUI (et aussi pour savoir,car le savoir est une arme que les bêtes n'ont pas).

Pour répondre à ta deuxième question, j'utilise Excel 2016 mais le fichier dois aussi être compatible 2010 car il est sur réseau et utilisé par plusieurs personne qui n'ont pas tous la même version d'excel .

Merci pour l'attention que vous porter à mon problème.

Cordialement.

Arthur

Tu récupères le fichier de ton boulot sur une clef USB, tu l'édites chez toi avec CustomUI et tu le réintègres à ton boulot le lendemain...

J'aimerai bien le faire mais je ne peut vraiment pas

À pars en secret et encore, je ne suis pas le propriétaire du fichier, il est sur le réseau et partagé et bloqué, je ne peut donc pas le prendre "discrètement" le modifier et le remettre

De plus je n'en aurait même pas eu le cran ....

Je comprend que sa t’embête galopin d'avoir fait sa pour rien, je comprend mais je ne peut pas appliquer cette solution

Dans l'attente d'autre idées à lires.

Cordialement.

Arthur.

PS:Oui je sais il y a beaucoup trop d'émojis dans ce poste mais j'aime bien les émojis du site

Bonjour,

Je m'excuse du dérangement, je ne sais pas pourquoi du comment mais mon fichier n'a plus le problème énoncé précédemment, dans les mêmes conditions .

Je vous tien au courant en espérant que le problème ne revienne pas .

Cordialement.

Arthur.

Rechercher des sujets similaires à "ribbon"