Impression avec bouton VBA sur une liste déroulante

Bonjour,

Je viens vers vous car je ne suis pas du tout qualifié dans les macros et j'ai besoin de vous !!

J'espère que vous réussirez à m'aider.

Je souhaite imprimer automatiquement une feuille pour chaque conducteur nommé "nom du conducteur". Existe t-il une solution pour lancer une impression automatique de toutes les feuilles conducteur plutôt que de le faire manuellement svp ?

Voici un exemple ci joint.

Je vous remercie par avance

Paulo

Bonjour,

J'imagine que dans votre fichier original les informations changent quand vous changez le nom en Cellule E10 de la feuil 1 ?

Dans ce cas vous pouvez créer une macro pour "boucler sur tous les noms de la liste contenue en feuille 2" et lancer

l'impression.

Exemple de macro sur un bouton :

Private Sub CommandButton1_Click()

'On trouve le nombre de conducteur feuille 2
Dim NBCONDUC As Long
NBCONDUC = Worksheets("Feuil2").Range("A65536").End(xlUp).Row

'On créé une boucle de 1 à autant de conducteurs

For i = 1 To NBCONDUC

'On remplace la valeur Feuil1 E10 par la valeur du 1er conducteur trouvé
Worksheets("Feuil1").Range("E10").Value = Worksheets("Feuil2").Range("A" & i).Value
'On imprime
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
'On passe au suivant
Next i

End Sub

'Attention pour les tests sélectionner une imprimante virtuelle "pdf créator" "microsoft xps" pour éviter gachis papier. 

Bonjour,

Merci pour votrte retour c'est vraiment gentil!!

J'ai un petit soucis, j'ai un message d'erreur qui s'affiche :

"Erreur d'indication "9"

L'indice n'appartient pas à la sélection"

=> Worksheets("FICHE CONDUCTEUR").Range("E10").Value = Worksheets("ANALYSE").Range("A" & I).Value

Qu'est ce que cela signifie ?

Bonne journée à vous

C'est ok pour le problème, c'est réglé!! j'ai modifié le nom de mes onglets et cela a focntionné.

Par contre j'ai un autre soucis, dans ma feuille 1, au dessus des noms des conducteurs, j'ai un case nommée "conducteur", et donc les résultats sont faussés.

Comment fait on pour exclure cette case lors de l'impression ? et de plus j'ai uniquement la première impression qui se lance mais pas le reste, comment cela se fait-il ?

voici ma macro :

Private Sub IMPRESSION_Click()

Dim NBCONDUC As Long
NBCONDUC = Worksheets("DONNEES").Range("A129").End(xlUp).Row

For I = 1 To NBCONDUC

Worksheets("FICHE").Range("E9").Value = Worksheets("DONNEES").Range("A" & I).Value

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

Next I

End Sub

Auriez vous une solution svp ?

Merci à vous, vous êtes au top

Paulo 35

Re bonjour,

Vous voulez parler de la feuille qui contiend la listes des noms de conducteurs ? dans l'exemple la liste était en feuille 2 et pas en feuille 1 ?

Si elle a un entête de colonne "conducteur" cela signifie que votre liste ne commence pas par la ligne 1 mais par la ligne 2

Donc dans le code de la boucle il suffit de changer la valeur de départ de : i

For I = 2 To NBCONDUC

C'est parfait MERCI bcp pour ton temps consacré

Rechercher des sujets similaires à "impression bouton vba liste deroulante"