aide vba excel pour impression d'une macro

  • Initiateur de la discussion Initiateur de la discussion audrey desgres
  • Date de début Date de début

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 !

A

audrey desgres

Guest
bonjour, je suis une débutante en vba excel mais je viens de faire une macro qui me permet d'aller d'une feuille à une autre à partir de données d'une cellule (par exemple, dans ma cellule, j'ai marqué organic; ma macro me permet de me déplacer sur la feuille nommée organic).
je voudrais savoir comment faire une macro qui me permette d'imprimer cette feuille ainsi que deux autres dont les noms sont urssaf et assurance maladie.
merci beaucoup d'avance.
audrey
 
Bonjour Audrey, Christophe, le Forum

La méthode que tu décris n'est pas très pratique, mais en essayant de transfigurer ta description, imaginons un exemple :

Une Feuille nommée : "TaFeuilleContenantLesNoms"

Dans cette feuille en cellule "A1" le nom d'une autre feuille
et idem en A2 une autre feuille et "A3" encore une autre. Les trois feuilles doivent au moins contenir un texte imprimable.

Toujours dans cette feuille tu écris en "B1" un numéro de 1 à 3...

Dans un module Standard tu mets ce code et tu affecte cette macro à un bouton.

Sub AudreyPrintOut()
Dim WS1 As String
Dim WS2 As String
Dim WS3 As String
Dim Typ As String

With Sheets("TaFeuilleContenantLesNoms")
WS1 = .Range("A1")
WS2 = .Range("A2")
WS3 = .Range("A3")
Typ = UCase(.Range("B1"))
End With

On Error GoTo ErrorHandler
Select Case Typ
Case "1"
Sheets(WS1).Activate
Case "1P"
With Sheets(WS1)
.Activate
.PrintOut
End With

Case "2"
Sheets(WS2).Activate
Case "2P"
With Sheets(WS2)
.Activate
.PrintOut
End With

Case "3"
Sheets(WS3).Activate
Case "3P"
With Sheets(WS3)
.Activate
.PrintOut
End With

Case "PRINT"
Sheets(WS1).PrintOut
Sheets(WS2).PrintOut
Sheets(WS3).PrintOut
Case Else
MsgBox "La valeur en B1 n'est pas valable"
End Select

Exit Sub
ErrorHandler:
MsgBox "Une des Valeurs saisie de A1 à A3 n'est pas un nom de feuille"
End Sub

Que va-t'il se passer ? (ta ta ta!!! roulements de tambours !! lol)

Si tu as bien des nom de feuilles valides dans les cellules A1 à A3, la feuille (de 1 à 3) sera sélectionnée...
Maintenant si tu as mis "3P" en cellule "B1", la feuille en A3 sera imprimée... Et si tu as mis "Print" en en cellule "B1" les trois feuilles seront imprimées... (tu peux t'amuser à ajouter des tas de "Case", le plus dur sera de les retenir ou bien tout simplement de les mettre dans une Liste de Validation...)

Ce n'est pas vraiment une référence en simplicité de macro, c'est plutôt à prendre comme un exercice si tu débutes en VBA.

L'ideal pour ce genre de manipulation de feuilles c'est un UserForm, mais il faut d'abord que tu assimiles quelques bases.

Bon Après Midi
@+Thierry
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
562
Réponses
6
Affichages
434
Réponses
5
Affichages
432
Retour