Liste déroulante et atteinte de tableaux

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

apt

XLDnaute Impliqué
Bonsoir à tous,

J'aimerais atteindre des tableaux à l'aide de valeurs choisies dans une liste déroulante.

Les tableaux seront sélectionnés pour impression.

Exemple en PJ.
 

Pièces jointes

Dernière édition:
Re : Liste déroulante et atteinte de tableaux

Bonjour DoubleZero,

J'ai trouvé evec ce code :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$1" Then
        x = Target
        y = Application.Match(x, [E1:E100], 0)
        If IsError(y) Then
            MsgBox x & " non trouvé"
        Else
            'MsgBox x & " trouvé à la ligne E" & y
            Range("D" & y).CurrentRegion.Select

        End If
    End If
End Sub


Oui, DoubleZero, je n'ai pas oublié ce fil 😀
 
Re : Liste déroulante et atteinte de tableaux

Bonsoir DoubleZero,

Ca marche bien.

Mais en voulant l'adapter à mon application, j'ai eu une erreur d'Incompatibiité de type pour la variable x et y.

J'ai corrigé le problème du x en ajoutant la fonction Val :

Code:
x = Val(Target.Value)

mais ça n'a pas marché pour le y :

Code:
y = Val(Application.Match(x, [H3:H100], 0))

Questions :

- Comment définir dynamiquement la plage nommée "Zone_d_impression" (parce qu'elle est fixe dans le ficher en PJ) ?

- Peux-tu vérifier le code d'impression s'il est juste ?

Merci.
 

Pièces jointes

Dernière édition:
Re : Liste déroulante et atteinte de tableaux

Bonjour DoubleZero,

Ca marche très bien maintenant.

Mais comme je n’ai pas d’imprimante pour essayer, j’aimerais savoir si cette ligne, suffit-elle pour imprimer la zone sélectionnée :


Code:
Range("Zone_d_impression").PrintPreview   'PrintOut

EDIT :

J'ai trouvé ce code pour impression (mais je ne sais pas s'il est nécessaire d'écrire toutes ces lignes ?) :

Code:
Sub Print_Report()
Dim lastcol as Integer
Worksheets("Rates").PageSetup.PrintArea = Worksheets("Rates").Range("A9").CurrentRegion.Address
lastcol = Worksheets("Rates").Cells(9, Worksheets("Rates").Columns.Count).End(xlToLeft).Column
On Error Resume Next  'continue if there are no PageBreaks
    With Worksheets("Rates").PageSetup
        .DisplayPageBreaks = False
        .PrintTitleRows = "$9:$9"  'TitleRow should only be one row, not a range of rows and columns
        .LeftMargin = Application.InchesToPoints(0.3)
        .RightMargin = Application.InchesToPoints(0.3)
        .TopMargin = Application.InchesToPoints(0.75)
        .BottomMargin = Application.InchesToPoints(0.75)
        .HeaderMargin = Application.InchesToPoints(0.3)
        .FooterMargin = Application.InchesToPoints(0.3)
        .CenterHorizontally = True
        .Orientation = xlPortrait
        .FirstPageNumber = xlAutomatic
        .FitToPagesWide = 1
    End With
    Worksheets("Rates").Columns("A:" & lastcol).EntireColumn.AutoFit
Worksheets("Rates").PrintOut Copies:=1, Collate:=True
End Sub
 
Dernière édition:
Re : Liste déroulante et atteinte de tableaux

Re-bonjour,

... comme je n’ai pas d’imprimante pour essayer, j’aimerais savoir si cette ligne, suffit-elle pour imprimer la zone sélectionnée :

Code:
Range("Zone_d_impression").PrintPreview   'PrintOut

EDIT :...J'ai trouvé ce code pour impression...

En sollicitant ce bouton,

attachment.php

on obtient l'impression du choix effectué en B1.

attachment.php

L'ajout d'un nouveau code est, par conséquent, superflu.

A bientôt 🙂
 

Pièces jointes

  • Bouton.JPG
    Bouton.JPG
    14.2 KB · Affichages: 107
  • Bouton.JPG
    Bouton.JPG
    14.2 KB · Affichages: 113
  • Bouton.JPG
    Bouton.JPG
    14.2 KB · Affichages: 105
  • Impression.JPG
    Impression.JPG
    44.3 KB · Affichages: 95
  • Impression.JPG
    Impression.JPG
    44.3 KB · Affichages: 101
  • Impression.JPG
    Impression.JPG
    44.3 KB · Affichages: 97
Re : Liste déroulante et atteinte de tableaux

Salut,

Je m'excuse si je m'abuse, mais j'ai un petit souci.

Comment fait-on pour que la liste ne se déroule pas en cas d'absence de valeur dans la plage nommée "Liste" comme ton exemple ?

Comment résoudre le problème de Application.EnableEvents = True que je devrais lancer de temps à autre pour que le VBA fonctionne ?
 
- 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
6
Affichages
232
Réponses
13
Affichages
586
Réponses
8
Affichages
418
Réponses
5
Affichages
275
Réponses
11
Affichages
947
Retour