Impression resultat userform multipage

brutor2

XLDnaute Junior
Bonjour à tous,

J'avais trouvé une dixcussion qui aurait pu repondre à ma question mais le lien vers la démo ne fonctionne plus Lien supprimé suite ce fil de discussion ICI.

J'espère être assez clair...

J'ai crée un USF avec un multipages à 3 onglets qui reprend les données par lignes d'un tableau et qui me met les données correspondantes après selection d'un nom dans un combobox dans des textbox sur ce multipage.

Jusque là pas de problème.

Je souhaiterai faire une impression de ces données sur une page récapitulative en ayant défini au préalable la mise en page.

Comment dois-je m'y prendre?

Merci d'avance de votre aide.

Cordialement.

Brutor
 
Dernière édition:

brutor2

XLDnaute Junior
Re : Impression resultat userform multipage

Bonsoir à tous,

Vu le nombre de demandes, je comprends qu'il est difficile de répondre à tout le monde...

Mais quelqu'un n'aurait-il pas une piste à me donner?

Encore merci d'avance.

Cordialement.

Brutor
 

Excel-lent

XLDnaute Barbatruc
Re : Impression resultat userform multipage

Bonsoir Brutor2,

Pas répondu à ton post plus tôt car je ne l'avais pas vu!

Concernant ton fichier, si je comprend bien, tu as tes données dans une BD (base de donnée), par le biais de l'USF, l'utilisateur va choisir la fiche qui l'intéresse, et tu souhaiterais qu'il puisse l'imprimer?

Le plus facile à première vue :
-> rajouter à ton fichier une feuille (que tu masqueras), dans laquelle tu créera ta fiche (vierge) comme tu souhaiterais qu'elle s'édite, avec la mise en page et tout et tout!!!
-> rajouter sur ton USF un bouton "imprimer"

Lorsque l'utilisateur cliquera sur ce bouton, ta macro (à créer) devra :
-> insérer dans ta fameuse nouvelle feuille les données contenu dans ton USF
-> imprimer cette feuille
-> remettre à blanc cette feuille : effacer que les zones où s'inscrivent les données.

(car si tu demande à ta macro de créer ta fiche en totalité et à chaque fois, puis l'effacer totalement, ta macro sera longue à faire, mais également à s'exécuter)

Si besoin d'aide ou plus de détails, n'hésite pas!

Bonne soirée
 

brutor2

XLDnaute Junior
Re : Impression resultat userform multipage

Bonsoir Excel-lent,
Bonsoir le forum,

Merci pour ta réponse Excel-lent.

C'était bien de cette façon que j'imaginais la chose.

Mais ce que je ne sais pas c'est comment indiquer les valeurs de ma combobox choisie et de ses texibox associés dans cette feuille?

Merci de votre aide

Cordialement
Brutor
 

Excel-lent

XLDnaute Barbatruc
Re : Impression resultat userform multipage

Bonsoir Brutor2,

Pour alimenter tes TextBox et Combobox, tu dois avoir dans la macro de ton UserForm des lignes de ce genre :

Code:
[COLOR="Blue"]TextBox1[/COLOR].Value = Sheets("feuil1").Range("A1")
Code:
For ligne = 5 To 8
   [COLOR="Blue"]Combobox1[/COLOR].AddItem Sheets("feuil1").cells(Ligne, 3)
Next ligne

Pour remplir ta feuille "Fiche à éditer", il te suffit de faire ainsi :
Code:
Sheets("Fiche à éditer").Range("Z1") = [COLOR="Blue"]TextBox1[/COLOR]

Code:
Sheets("Fiche à éditer").Range("G8") = [COLOR="Blue"]Combobox1[/COLOR]

En sachant que les noms écrit en bleu sont les noms de tes TextBox et Combobox (information figurant sur la ligne (name) des propriétés de tes TextBox, Combobox, ...)

Bonne fin de semaine
 

brutor2

XLDnaute Junior
Re : Impression resultat userform multipage

Bonjour Excel-lent,
Bonjour le forum,

Merci pour ta réponse Excel-lent.

Je vais essayer ta méthode étant persuadé que cela va marcher (cela apparaît evident quand on me dit quoi faire). Je n'aurais pas trouvé seul !!!

Je te tiens au courant du résultat.

Merci encore.

Cordialement à tous.

Brutor
 

brutor2

XLDnaute Junior
Re : Impression resultat userform multipage

Bonjour Excel-lent,
Bonjour le forum,

Pour l'affichage des valeurs des TexBox et ComboBox dans ma feuille cachée c'est ok.
Mais une ligne de code pour chaque valeur telle (exemple pour 2 TextBox)

Sheets("Impression Resultat").Range("e31") = TextBoxCA
Sheets("Impression Resultat").Range("g31") = TextBoxTC
... me paraît lourd
j'en ai 18 ne peut-elle se simplifier?


Par contre pour l'impression j'avais mis :
Sheets("Impression Resultat").PrintOut copies:=1, collate:=True

et pour l'effacement de mes cellules :
Sheets("Impression Resultat").Select
Range("A4,E4,A9,C9,E9,G9,A12,C12,E12,G12,A17,C17,E17,G17,A20,C20,E20,G20"). _
Select
Selection.ClearContents

j'ai un probléme.

Cela ne vient-il pas du fait que la feuille est cachée ?

Comment dois-je m'y prendre ?

Merci de votre aide.

Cordialement

Brutor
 

brutor2

XLDnaute Junior
Re : Impression resultat userform multipage

Bonsoir Jean-Marcel
Bonsoir le forum,

J'ai donc suivi tes conseils et cela marche.

J'ai donc mis :


'impression feuille résultat

Application.ScreenUpdating = False
Sheets("Impression Resultat").Visible = True
Sheets("Impression Resultat").Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets(1).Activate
Sheets("Impression Resultat").Visible = False
Application.ScreenUpdating = True

'Effacement valeurs

Application.ScreenUpdating = False
Sheets("Impression Resultat").Range("A4,E4,A9,C9,E9,G9,A12,C12,E12,G12,A17,C17,E17,G17,A20,C20,E20,G20").ClearContents
Range("a1").Select
Application.ScreenUpdating = True

Pour le 18 Textbox dommage qu'il n'y ait pas plus simple.

Sinon comment peut-on faire, pour que lors du lancement de l'impression l'on puisse avoir le choix de l'imprimante et non pas obligatoirement celle par défaut ?

Merci de votre aide.

Cordialement
Brutor
 

Excel-lent

XLDnaute Barbatruc
Re : Impression resultat userform multipage

Bonsoir le Brutor2, le fil,

brutor2 à dit:
Mais une ligne de code pour chaque valeur telle (exemple pour 2 TextBox)

Sheets("Impression Resultat").Range("e31") = TextBoxCA
Sheets("Impression Resultat").Range("g31") = TextBoxTC
... me paraît lourd
j'en ai 18 ne peut-elle se simplifier?

brutor2 à dit:
Pour le 18 Textbox dommage qu'il n'y ait pas plus simple.

Si, il y a moyen de simplifier et de résumer des 18 lignes en 5 lignes maxi mais pour cela il faut que tes TextBox soient nommées différemment!

Et que pour passer d'une cellule à l'autre on puisse faire une formule mathématique!

Du genre :
TextBoxChiffre1 (pour TextBoxCA)
TextBoxChiffre2 (pour TextBoxHT)
TextBoxChiffre3 (pour TextBoxTTC)
...
TextBoxChiffre18 (pour TextBox...)

Et que tu doivent coller les informations dans les cellules (par exemple) A1, C1, E1, G1, ... (c'est à dire toujours sur la même ligne et une colonne sur deux)

Ce qui te donnerais le code suivant :
Code:
Colonne = 1
For i = 1 To 18
   
Sheets("Impression Resultat").Cells(1,Colonne) = Controls("TextBox" & i).Value
   Colonne = Colonne + 2
Next i

Bien sûr tu peux adapter cela comme tu veux! Par exemple écrire sur A1, B1, C1, D1, ... (toujours sur la même ligne et sur des colonnes mitoyenne), ce qui te donnerais :

Code:
Colonne = 1
For i = 1 To 18
   
Sheets("Impression Resultat").Cells(1,Colonne) = Controls("TextBox" & i).Value
   Colonne = Colonne + [COLOR="Blue"][B]1[/B][/COLOR]
Next i

Après... comme tu as pu le constater, tout dépend du nom de tes TexBox et de la façon dont tu as ordonnées tes données sur ta feuille "impression résultat".

Bonne soirée
 

brutor2

XLDnaute Junior
Re : Impression resultat userform multipage

Bonsoir Excel-lent
Bonsoir le forum,

Merci pour l'exemple et la démonstration.

Je vois mieux l'importance de bien réfléchir dès le départ au résultat souhaité afin d'avoir des lignes de codes plus claires pour l'obtenir.

Excel-lent à dit:
Et que pour passer d'une cellule à l'autre on puisse faire une formule mathématique!
C'est logique, mais je n'y serais pas arrivé tout seul...

Pourquoi utilises-tu seulement TextBox et non pas textBoxChiffre dans :
Excel-lent à dit:
Sheets("Impression Resultat").Cells(1,Colonne) = Controls("TextBox" & i).Value
Colonne = Colonne + 2

Autre chose,si le résultat devrait être sur des lignes différentes 4 par 4
exemple:
1ère ligne TextBoxChiffre1 TextBoxChiffre2 TextBoxChiffre3 TextBoxChiffre4
2ème ligne TextBoxChiffre5 TextBoxChiffre6 TextBoxChiffre7 TextBoxChiffre8
etc...
et la dernière ligne TextBoxChiffre17 TextBoxChiffre18

comment devrait-on s'y prendre?

Merci de ta patience.

Cordialement

Brutor2
 

Excel-lent

XLDnaute Barbatruc
Re : Impression resultat userform multipage

Bonsoir Brutor2, le fil,

brutor2 à dit:
Je vois mieux l'importance de bien réfléchir dès le départ au résultat souhaité afin d'avoir des lignes de codes plus claires pour l'obtenir.

Rassures-toi, on est tous passé par là! On ne peut pas tout savoir, ni penser à tout dès notre première macro! ;)

brutor2 à dit:
Pourquoi utilises-tu seulement TextBox et non pas textBoxChiffre

Il s'agit d'une faute d'inattention!!! En effet il fallait lire :
Code:
Colonne = 1
For i = 1 To 18
   
Sheets("Impression Resultat").Cells(1,Colonne) = Controls("[COLOR="Blue"]TextBox[B]Chiffre[/B][/COLOR]" & i).Value
   Colonne = Colonne + 2
Next i

Idem pour le second exemple.

brutor2 à dit:
Autre chose,si le résultat devrait être sur des lignes différentes 4 par 4
exemple:
1ère ligne TextBoxChiffre1 TextBoxChiffre2 TextBoxChiffre3 TextBoxChiffre4
2ème ligne TextBoxChiffre5 TextBoxChiffre6 TextBoxChiffre7 TextBoxChiffre8
etc...
et la dernière ligne TextBoxChiffre17 TextBoxChiffre18

Tu peux par exemple faire ainsi
Code:
Ligne = 1
For i = 1 To 18
   For Colonne = 1 To 4
      Sheets("Impression Resultat").Cells(Ligne, Colonne) = Controls("TextBoxChiffre" & i).Value
   Next Colonne
   Ligne = Ligne + 1
Next i

N'ayant pu le tester... mais normalement c'est ok!

Dis nous si cela fonctionne.

A te lire

Bonne soirée

PS. : Au début de ta macro, pense à lister et définir tes variables ;)
 
Dernière édition:

Brigitte

XLDnaute Barbatruc
Re : Impression resultat userform multipage

Bonsoir,

A tout hasard, avez vous pensé également à visiter le Musée du Forum sur la FAQ ?

On y a remis à jour les liens des merveilleuses démos de Thierry et peut être celle que vous cherchiez s'y trouve t'elle : https://www.excel-downloads.com/threads/musee-du-forum.3326/... Sur le dernier post de David, on y trouve : Lien supprimé...

Et d'autres... A fouiller donc de toute urgence !!!
 

brutor2

XLDnaute Junior
Re : Impression resultat userform multipage

Bonsoir Excel-lent, Bonsoir Brigitte,
Bonsoir le forum,

Merci de vos précieux conseils, Je vais m'empresser d'étudier toutes ces informations. un lien très utile

Je suis sur qu'elles vont me permettre de progresser et de comprendre mieux la réflexion à avoir pour écrire un code clair et efficace dans mes recherches.

Je reviendrais vers vous pour obtenir les explications nécessaires à leur compréhension si besoin.

Je vais tester ta solution Excel-lent et je ne doute pas qu'elle soit celle que je cherche.

Merci à vous et à votre attention.

Bonne soirée.

Cordialement.

Brutor2
 

Discussions similaires

Statistiques des forums

Discussions
312 467
Messages
2 088 674
Membres
103 914
dernier inscrit
VAL965698