OVH Cloud OVH Cloud

Impression

2 réponses
Avatar
Denys
Bonjour =E0 tous,

Avec l'aide d'un Userform, des donn=E9es s'inscrivent sur=20
une feuille Excel, puis sont "copi=E9es" sur une autre=20
feuille qui sert de formulaire, et ce formulaire s'imprime.

Jusqu'ici, =E7a va, tout fonctionne bien. Cependant=20
j'aimerais perfectionner dans le but de sauver du temps.=20
Plut=F4t que l'utilisateur se l=E8ve et aille chercher la=20
feuille imprim=E9e =E0 chaque fois qu'il a entr=E9 de nouvelles=20
donn=E9es, je voudrais que celles-ci s'inscrivent comme=20
d'habitude sur la feuille servant de base de donn=E9es, mais=20
qu'elles puissent s'imprimer plus tard.

Autrement dit, il faudrait qu'Excel sache quelles donn=E9es=20
ont =E9t=E9 imprim=E9es, et quelles ne l'ont pas =E9t=E9. Bien s=FBr,=20
elles seraient les unes =E0 la suite des autres....


Que me conseillez-vous ? Quelle m=E9thode utilisez-vous ?

Merci pour votre temps

Denys

2 réponses

Avatar
michdenis
Bonjour Denys,


Pourquoi ne pas lui faire un combobox à plusieurs colonnes et lui donner le choix de l'enregistrements du départ .. pour
son impression ...le combobox peut contenir que les données de la journée ou des 2 dernières selon ce qui est nécessaire
pour le boulot ...

Et pour retrouver le numéro de la ligne de la feuille des données à partir de la sélection du combobox, tu peux utiliser
ceci :

Ceci n'a pas été testé ...!

Dim A As Long
If Me.ComboBox1.ListIndex <> -1 Then
A = Range(Me.ComboBox1.RowSource) _
(Me.ComboBox1.ListIndex).Row + 1
'En supposant que ton tableau n'a pas de ligne vide

With Worksheets("TesDonnées")
'Le chiffre 10 représente le nombre de
'colonnes de ta feuille "Tesdonnées" à imprimer
.PageSetup.PrintArea = .Range("A" & A).End(xlDown).Resize(, 10).Address
.Printpreview ' modifie pour .print -> pour imprimer
End With
End If



Salutations!





"Denys" a écrit dans le message de news:851c01c4320e$41391f10$
Bonjour à tous,

Avec l'aide d'un Userform, des données s'inscrivent sur
une feuille Excel, puis sont "copiées" sur une autre
feuille qui sert de formulaire, et ce formulaire s'imprime.

Jusqu'ici, ça va, tout fonctionne bien. Cependant
j'aimerais perfectionner dans le but de sauver du temps.
Plutôt que l'utilisateur se lève et aille chercher la
feuille imprimée à chaque fois qu'il a entré de nouvelles
données, je voudrais que celles-ci s'inscrivent comme
d'habitude sur la feuille servant de base de données, mais
qu'elles puissent s'imprimer plus tard.

Autrement dit, il faudrait qu'Excel sache quelles données
ont été imprimées, et quelles ne l'ont pas été. Bien sûr,
elles seraient les unes à la suite des autres....


Que me conseillez-vous ? Quelle méthode utilisez-vous ?

Merci pour votre temps

Denys
Avatar
Denys
Bonsoir Denis,

Merci pour ta réponse. Toutes les données se doivent
d'être imprimées, car ce sont des reçus que l'on fait
parvenir aux clients.

Mon idée de départ était d'inscrire un x dans une colonne
cachée à la fin de la ligne ou sont inscrites les données,
et par le suite avoir une instruction qui demanderait à
Excel d'imprimer toutes les lignes qui on un X dans la
colonne P et qu'ensuite Excel efface les x dans cette même
colonne...

En fait, en demandant à Excel que pour chaque ligne de la
colonne P ou y a un x d'appeler le commande de transfert
et d'imprimerie (que j'ai déjà) et ensuite effacer ces X,
je serais en voiture...

Je vais essayer dans cette voie... Ce devrait être plus
facile..

Merci de ton aide Denis

Denys


-----Original Message-----
Bonjour Denys,


Pourquoi ne pas lui faire un combobox à plusieurs
colonnes et lui donner le choix de l'enregistrements du

départ .. pour
son impression ...le combobox peut contenir que les
données de la journée ou des 2 dernières selon ce qui est

nécessaire
pour le boulot ...

Et pour retrouver le numéro de la ligne de la feuille des
données à partir de la sélection du combobox, tu peux

utiliser
ceci :

Ceci n'a pas été testé ...!

Dim A As Long
If Me.ComboBox1.ListIndex <> -1 Then
A = Range(Me.ComboBox1.RowSource) _
(Me.ComboBox1.ListIndex).Row + 1
'En supposant que ton tableau n'a pas de ligne vide

With Worksheets("TesDonnées")
'Le chiffre 10 représente le nombre de
'colonnes de ta feuille "Tesdonnées" à imprimer
.PageSetup.PrintArea = .Range("A" & A).End
(xlDown).Resize(, 10).Address

.Printpreview ' modifie pour .print -> pour
imprimer

End With
End If



Salutations!





"Denys" a écrit
dans le message de news:851c01c4320e$41391f10

$
Bonjour à tous,

Avec l'aide d'un Userform, des données s'inscrivent sur
une feuille Excel, puis sont "copiées" sur une autre
feuille qui sert de formulaire, et ce formulaire
s'imprime.


Jusqu'ici, ça va, tout fonctionne bien. Cependant
j'aimerais perfectionner dans le but de sauver du temps.
Plutôt que l'utilisateur se lève et aille chercher la
feuille imprimée à chaque fois qu'il a entré de nouvelles
données, je voudrais que celles-ci s'inscrivent comme
d'habitude sur la feuille servant de base de données, mais
qu'elles puissent s'imprimer plus tard.

Autrement dit, il faudrait qu'Excel sache quelles données
ont été imprimées, et quelles ne l'ont pas été. Bien sûr,
elles seraient les unes à la suite des autres....


Que me conseillez-vous ? Quelle méthode utilisez-vous ?

Merci pour votre temps

Denys


.