Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Valeur cellule dans un macro

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

juju91

XLDnaute Junior
Bonjour à tous,

j'ai encore besoin de votre aide.

je souhaiterais récupérer la valeur contenue dans une cellule (nom d'un onglet) d'un feuille (PARAMETRAGE) et de l'intégrer dans une macro qui doit imprimer l'onglet définie.

Ci dessous la macro que j'ai commencé à "créer" mais , bien évidement elle ne fonctionne pas.

Sub AAAAA_IMPRESSION_Bar_sucré_fruits_coupé()
Application.ScreenUpdating = False
If UCase(Worksheets("PARAMETRAGE").Range("B20")) Then
Worksheets("Bar sucré fruits coupé").Visible = True
Worksheets("Bar sucré fruits coupé").Select
Sheets("Bar sucré fruits coupé").PrintOut From:=1, To:=1, Copies:=1
Worksheets("Bar sucré fruits coupé").Visible = False

If UCase(Worksheets("PARAMETRAGE").Range("B18")) Then
Worksheets("Bar sucré").Visible = True
Worksheets("Bar sucré").Select
Sheets("Bar sucré").PrintOut From:=1, To:=1, Copies:=1
Worksheets("Bar sucré").Visible = False
Application.ScreenUpdating = True
End If
End If
End Sub


je ne suis pas certain d'avoir été clair, je mets donc en PJ fichier simplifié.

par avance merci de votre aide.

Cdt
 

Pièces jointes

Bonjour
merci d'avoir pris du temps pour répondre à ma demande.
En faite le souhaiterais remplacer le nom de la feuille a imprimer par la valeur de la cellule qui ce trouve dans la cellule de la colonne A
les nom des onglets peuvent évoluer, d'où ma demsnde

j'ai essayé cela mais ça ne fonctionne pas... et ca me semble un peu bancale..

If UCase(Worksheets("PARAMETRAGE").Range("B20")) Then
Worksheets(UCase(Worksheets("PARAMETRAGE").Range("A20")).value).Visible = True
Worksheets((UCase(Worksheets("PARAMETRAGE").Range("A20")).value)).Select
Sheets((UCase(Worksheets("PARAMETRAGE").Range("A20")).value)).PrintOut From:=1, To:=1, Copies:=1
Worksheets((UCase(Worksheets("PARAMETRAGE").Range("A20")).value)).Visible = False


Encore merci pour votre temps.
 
Bonjour
Comme Fanfan38, cela fonctionne bien chez moi aussi
Essayez de corriger cette ligne
VB:
If UCase(Worksheets("PARAMETRAGE").Range("B20")) =True Then

Ou remplacez le TRUE par "VRAI"
 
Re
Essayez votre code comme ceci
VB:
Sub AAAAA_IMPRESSION_Bar_sucré_fruits_coupé()
Dim feuille As String
Application.ScreenUpdating = False
With Worksheets("PARAMETRAGE")
    If UCase(.Range("B20")) = "VRAI" Then
        feuille = .Range("A20")
        With Worksheets(feuille)
            .Visible = True
            .Select
            .PrintOut From:=1, To:=1, Copies:=1
            .Visible = False
        End With

        If UCase(.Range("B18")) = "VRAI" Then
            feuille = .Range("A18")
            With Worksheets(feuille)
                .Visible = True
                .Select
                .PrintOut From:=1, To:=1, Copies:=1
                .Visible = False
            End With
        End If
    End If
End With
Application.ScreenUpdating = True
End Sub

Attention que :
- le nom dans la colonne A doit être strictement identique à celui de vos feuilles. Ce qui n'est pas le cas pour la cellule A20 par exemple.
- dans votre code l'impression de la feuille dont le nom est mentionné en A18 ne sera faite que si A20 est mentionné VRAI
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
384
Réponses
10
Affichages
673
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…