XL 2016 Renvoyer une valeur de cellule dans une macro

  • Initiateur de la discussion Initiateur de la discussion MaximeLAT
  • 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 !

MaximeLAT

XLDnaute Nouveau
Bonjour,

Je souhaiterai renvoyer une valeur de cellule dans la macro :

C'est à dire que à la place de ma sélection A1:J48 je souhaiterai qu'il prenne en compte la valeur d'une cellule dans laquelle il y aura ma sélection variable en fonction de ce que je veux imprimer.

Sheets("etiquettes").Select
Range("A1:J48").Select
Selection.PrintOut Copies:=1, Collate:=True
ActiveWindow.SmallScroll Down:=-24

Je ne suis pas très doué en Macro 😞
 
Bonjour.
Quelle cellules de quelle feuille contiendra quoi, exactement, sur quoi baser ce qu'il y a lieu d'imprimer ?
Il faut toujours joindre un classeur modèle montrant exactement ce qu'on a et ce qu'on veut.
Bonjour, ci-joint un classeur avec ce que j'ai en réel et l'explication de ce que je voudrai. (en espérant être clair)
Merci.
 

Pièces jointes

Bonjour @MaximeLAT
dans le module de ta feuille données je met ceci
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 3 And Target.Row <= 10 Then [C12] = Target(1)
End Sub
dans ton module1 je met ceci

Code:
Sub impressionetiqu()
If [C12] <> "" Then Sheets("etiquettes").Range(Feuil1.[C12].Text).PrintOut Copies:=1, Collate:=True
End Sub
donc quand tu sélectionne une des cellules en C4:C10 alors C12 prend la valeur de cette cellule sélectionnée
et quand tu clique sur le bouton imprimante tu imprime l’adresse de la range inscrite en C12
 
Bonjour MaximeLAT, Bernard, patricktoulon,
VB:
Sub ImpressionEtiquettes()
    If TypeName(Evaluate([C12].Value)) <> "Range" Then MsgBox "C12 doit contenir la référence d'une plage !", 48: Exit Sub
    With Sheets("etiquettes")
        .PageSetup.PrintArea = [C12]
        .PrintPreview 'pour tester
        '.PrintOut 'pour imprimer
    End With
End Sub
A+
 

Pièces jointes

re
c'est marrant comme le ".value" implicite ou la non utilisation de "set" peut faire la différence
VB:
Sub test()
    MsgBox TypeName(Evaluate("A1:A10"))
    
    x = Evaluate("A1:A10")
    MsgBox "type de x :" & TypeName(x) & vbCrLf & "nombre de ligne du tableau:" & UBound(x)
    
End Sub
 
- 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

Réponses
5
Affichages
331
Retour