Impression automatique à partir d'une base de données

Bonjour,

J'ai un formulaire que je dois remplir 40 fois à la main. J'aimerais bien trouver une façon pour pouvoir remplir automatiquement certaines cases sélectionner à partir de ma base de données, pour faciliter le tout.

Je vous joint mon fichier pour que ce soit plus simple. J'ai mis en couleur les cases qui doivent se remplir automatiquement à l'impression (autrement dit, je vais imprimer le formulaire 42 fois, et j'aimerais que les données changent sur chacune des pages selon l'onglet base de données).

Par exemple, lorsque dans la case en bleu il est inscrit 1, il faudrait que dans la case jaune il soit inscrit chasseur petit poney (obstacle), et ainsi de suite.

Je ne sais pas si c'est possible, mais si oui, ça me simplifierait vraiment la vie.

Merci d'avance

Mpb

Bonsoir,

Si tu expliquais en langage clair ce que tu veux faire...

En tout cas, dans l'immédiat :

tu sélectionnes la plage B2:B43 (dans base de données)

tu cliques sur Définir un nom (onglet Formules)

comme nom dans la rubrique ad hoc tu mets par exemple Epreuve.

Dans Formulaire, tu effaces les formules (qui n'en sont pas) dans E7 et E10.

En E7 tu tapes la formule suivante :

=SI(E10<>"";INDEX(Epreuve;E10);"")

Tu auras en E7 la mention correspondante au nombre que tu taperas en E10.

Mais pour ce qui est de ton impression itérative, il faudrait d'abord être compréhensible !

Pour l'impression, c'est que je dois imprimer le formulaire 43 fois, donc quand il est écrit 1, je dois écrire Chasseur petit poney, quand il est écrit 13, je dois écrire chasseur combiné. Ce que j'aimerais, c'est de cliquer sur un bouton, ou écrire une formule, et qu'automatiquement, ça m'imprime 43 feuilles, mais avec les 43 catégories différentes (donc les cases en couleur doivent changer sur chaque page imprimer). Est-ce que c'est plus clair comme ça ?

J'essaie de faire ce que j'ai déjà fait pour imprimer des certificats, où je faisais seulement lié à ma base de donner, et on m'imprimait les 25 certificats avec les différents noms.

Je n'avais pas vu que tes numéros ne se suivaient pas...

Bon, on change !

Sub Impression()
    Dim i%, wsF As Worksheet
    Set wsF = Worksheets("Formulaire")
    With Worksheets("base de données")
        For i = 2 To 43
            wsF.Range("E7") = .Cells(i, 2)
            wsF.Range("E10") = .Cells(i, 1)
            wsF.PrintOut
        Next i
    End With
End Sub

A essayer...

Cordialement.

Super, ça fonctionne ! Mille mercis !

le seul problème c'est que ça m'en imprime seulement une sur deux (seulement les lignes impairs, donc les classes 2(chasseur petit poney)-4(chasseur moyen poney)-6...). Mais bon,c'est déjà mieux que tout faire manuellement.

Bonjour,

Rien de grave ! C'est qu'il faut ralentir un peu...

Sub Impression()

Dim i%, wsF As Worksheet

Set wsF = Worksheets("Formulaire")

With Worksheets("base de données")

For i = 2 To 43

wsF.Range("E7") = .Cells(i, 2)

wsF.Range("E10") = .Cells(i, 1)

DoEvents

wsF.PrintOut

DoEvents

Next i

End With

End Sub

Essaie déjà ceci. Tu rajoutes les commandes surlignées. Si cela ne suffit pas on introduira une temporisation de 1 ou 2 secondes.

NB- Pour des essais, réduis la boucle en mettant 2 To 6 par exemple, cela suffit pour voir si tous passent...

Cordialement.

Rechercher des sujets similaires à "impression automatique partir base donnees"