Impression multi feuille choix variable Excel
Résolu/Fermé
benj
-
22 avril 2008 à 14:15
kadeh Messages postés 334 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 15 novembre 2012 - 23 avril 2008 à 12:49
kadeh Messages postés 334 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 15 novembre 2012 - 23 avril 2008 à 12:49
A voir également:
- Impression multi feuille choix variable Excel
- Spouleur d'impression - Guide
- Liste déroulante de choix excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Si et excel - Guide
- Aller à la ligne excel - Guide
10 réponses
kadeh
Messages postés
334
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
15 novembre 2012
92
22 avril 2008 à 14:45
22 avril 2008 à 14:45
Bonjour,
sub imprimer ()
Dim i As Integer,cell as range
'Parcours des feuilles
For i = 1 To Worksheets.Count
Sheets(Array(i)).Select
'nom client
Range("E13").Select
if Activecell.value = "x" then
Sheets(Array(i)).select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Next i
Cancel = True
End Sub
pour la semaine 52?? se trouve dans tous les feuille ou quoi?
@+
sub imprimer ()
Dim i As Integer,cell as range
'Parcours des feuilles
For i = 1 To Worksheets.Count
Sheets(Array(i)).Select
'nom client
Range("E13").Select
if Activecell.value = "x" then
Sheets(Array(i)).select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Next i
Cancel = True
End Sub
pour la semaine 52?? se trouve dans tous les feuille ou quoi?
@+
je t'ai expliqué dans mon dernier post que c'était quand j'essayer de le rentrer dans mes boutons de commande de ma feuille d'impression, mais comme tu me l'a suggéré j'ai supprimer tous les boutons et j'attends maintenan ton explication quand a la merche a suivre pour rentrer ton code dans ma feuille commande impression
kadeh
Messages postés
334
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
15 novembre 2012
92
22 avril 2008 à 18:17
22 avril 2008 à 18:17
il faut tout d'abord verifier le bon fonctionnement de la macro
ensuite on va faire ce qui suit
dans ta feuille impression tu entre par exemple dans la colonne A:
cellule A1 : semaine1 cellule B1 : référence de la cellule situé au dessous de semaine1
cellule A2 : semaine2 cellule B2 : E13
cellule A3 : semaine3 cellule B3 : référence de la cellule situé au dessous de semaine3
. . .
. . .
. . .
cellule A52 : semaine52 cellule B52 : référence de la cellule situé au dessous de semaine52
appui Alt+F11 selectionne la feuille impression, clic droit, code
et insère le code suivant:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim F1 As Range, cell as Range, àimprimer As String, i as interger
Set F1 = Application.Intersect(Target, Range("B1:B52"))
If (F1 Is Nothing) Then
Else
àimprimer = ActiveCell.Value
For i = 1 To Worksheets.Count - 1
Sheets(Array(i)).Select
Range("àimprimer").Select
if Activecell.value = "x" then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End if
Next i
End if
Cancel = True
End Sub
@+
ensuite on va faire ce qui suit
dans ta feuille impression tu entre par exemple dans la colonne A:
cellule A1 : semaine1 cellule B1 : référence de la cellule situé au dessous de semaine1
cellule A2 : semaine2 cellule B2 : E13
cellule A3 : semaine3 cellule B3 : référence de la cellule situé au dessous de semaine3
. . .
. . .
. . .
cellule A52 : semaine52 cellule B52 : référence de la cellule situé au dessous de semaine52
appui Alt+F11 selectionne la feuille impression, clic droit, code
et insère le code suivant:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim F1 As Range, cell as Range, àimprimer As String, i as interger
Set F1 = Application.Intersect(Target, Range("B1:B52"))
If (F1 Is Nothing) Then
Else
àimprimer = ActiveCell.Value
For i = 1 To Worksheets.Count - 1
Sheets(Array(i)).Select
Range("àimprimer").Select
if Activecell.value = "x" then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End if
Next i
End if
Cancel = True
End Sub
@+
Quand je fais altf11 j'ai visual basic qui s'affiche après je fais insertion module car ma page est vierge (toute grise)
puis je colle le code dans la fenetre.
mais en quittant visual basic il n'enregistre pas la commande et la macro ne se fait pas lorsque je double clique sur la case nommée E13 mais physiquement la case B2 comme tu m'a demandé de faire pour le test.
puis je colle le code dans la fenetre.
mais en quittant visual basic il n'enregistre pas la commande et la macro ne se fait pas lorsque je double clique sur la case nommée E13 mais physiquement la case B2 comme tu m'a demandé de faire pour le test.
kadeh
Messages postés
334
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
15 novembre 2012
92
22 avril 2008 à 19:44
22 avril 2008 à 19:44
tu n'insere pas un module
bon ferme vb et laisse excel
au dessous ou tu as les onglets clic droit sur la feuille impression , visualiser le code
insere le code dans la fenetre vb affiché
@+
bon ferme vb et laisse excel
au dessous ou tu as les onglets clic droit sur la feuille impression , visualiser le code
insere le code dans la fenetre vb affiché
@+
benj
>
kadeh
Messages postés
334
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
15 novembre 2012
22 avril 2008 à 19:52
22 avril 2008 à 19:52
ok c'est fait
par contre au double click sur la case correspondant a cette semaine N°17,
il y a vb qui s'ouvre et qui me dit :
erreur de compilation:
type défini par l'utilisateur non défini
puis les touches OK et AIDE
par contre au double click sur la case correspondant a cette semaine N°17,
il y a vb qui s'ouvre et qui me dit :
erreur de compilation:
type défini par l'utilisateur non défini
puis les touches OK et AIDE
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
kadeh
Messages postés
334
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
15 novembre 2012
92
22 avril 2008 à 19:57
22 avril 2008 à 19:57
et pour les autre est ce que ça marche bien?
est ce que seulement ne marche pas pour la semaine 17?
@+
est ce que seulement ne marche pas pour la semaine 17?
@+
si ça tiens toujours je veux bien ton mail, je tenvoie le fichier tu te rendra peut etr mieu compte
kadeh
Messages postés
334
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
15 novembre 2012
92
Modifié le 23 avril 2008 à 12:49
Modifié le 23 avril 2008 à 12:49
je peux pas savoir exactement ou est le problème par ce que je n'ai pas les données devant moi
si tu veux envoi ton fichier à mon email suivant XXXXXXXXXXXXXX
je t'envoi la bonne solution
bonne soirée.
si tu veux envoi ton fichier à mon email suivant XXXXXXXXXXXXXX
je t'envoi la bonne solution
bonne soirée.
ok je t'ai envoyé le fichier
kadeh
Messages postés
334
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
15 novembre 2012
92
22 avril 2008 à 20:58
22 avril 2008 à 20:58
ok je vais voir
bonne soirée
bonne soirée
kadeh
Messages postés
334
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
15 novembre 2012
92
22 avril 2008 à 21:17
22 avril 2008 à 21:17
ce code est fonctionnel lance le appartir de n'importe quel cellule puis ouvre l'imprimente et verifie si tu as les fichier
à imprimer
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim F1 As Range, cell As Range, valeur As String, i As Integer
Set F1 = Application.Intersect(Target, Range("B1:B52"))
If (F1 Is Nothing) Then
Else
valeur = ActiveCell.Value
For i = 1 To Worksheets.Count - 1
Sheets(Array(i)).Select
ActiveSheet.Range(valeur).Select
If ActiveCell.Value = "X" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
Next i
End If
Cancel = True
End Sub
@+
à imprimer
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim F1 As Range, cell As Range, valeur As String, i As Integer
Set F1 = Application.Intersect(Target, Range("B1:B52"))
If (F1 Is Nothing) Then
Else
valeur = ActiveCell.Value
For i = 1 To Worksheets.Count - 1
Sheets(Array(i)).Select
ActiveSheet.Range(valeur).Select
If ActiveCell.Value = "X" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
Next i
End If
Cancel = True
End Sub
@+
salut,
apparement il fonctionne je l'ai modifier pour l'utiliser sur ma page imprimer donc j'ai rentrer a la place de ("B1:B52"), ("D13:T13,D15:T15,D17:U17") et ça fonctionne par contre, juste il faut que je vérifie sur plusieurs semaine car cette semaine la 17 j'ai que 3 fiches sorties, donc je vais voir dans toute mes fiches si j'ai bien que 3 fiches cochées en semaine 17.
Merci vraiment beaucoup sans toi je n'y serai pas arrivé c'était trop complexe "pour moi", je regrete juste le fait que je n'ai pas appris a le faire seul, et a quoi correspond les divers mots et signes.
encore un gros merci , mes gars vont pouvoir bien travailler.
a+
apparement il fonctionne je l'ai modifier pour l'utiliser sur ma page imprimer donc j'ai rentrer a la place de ("B1:B52"), ("D13:T13,D15:T15,D17:U17") et ça fonctionne par contre, juste il faut que je vérifie sur plusieurs semaine car cette semaine la 17 j'ai que 3 fiches sorties, donc je vais voir dans toute mes fiches si j'ai bien que 3 fiches cochées en semaine 17.
Merci vraiment beaucoup sans toi je n'y serai pas arrivé c'était trop complexe "pour moi", je regrete juste le fait que je n'ai pas appris a le faire seul, et a quoi correspond les divers mots et signes.
encore un gros merci , mes gars vont pouvoir bien travailler.
a+
kadeh
Messages postés
334
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
15 novembre 2012
92
23 avril 2008 à 12:49
23 avril 2008 à 12:49
Bonjour,
tu peut vérifier pour toute les semaine, tu peux éteindre l'imprimente pour ne pas gaspiller l'encre et papier, et lance l'impression pour n'importe quelle semaine, l'icône de l'imprimente va etre affichée dans la barre des taches, ouvre-la , tu trouve tous les fichier à imprimer.
bon travail
bonne journée
tu peut vérifier pour toute les semaine, tu peux éteindre l'imprimente pour ne pas gaspiller l'encre et papier, et lance l'impression pour n'importe quelle semaine, l'icône de l'imprimente va etre affichée dans la barre des taches, ouvre-la , tu trouve tous les fichier à imprimer.
bon travail
bonne journée
22 avril 2008 à 15:04
ex: S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 ... S52 avec dessous un X ou bien une case vide
Par contre toutes les feuilles sont différentes, la feuilles 1 peut a voir : S1 S5 S10 S12 et la feuille 2 avoir : S5 S9 S11 S13 la feuille 3 : S14 S27 S30 S52 et ainsi de suite.
merci
22 avril 2008 à 15:24
" la feuilles 1 peut a voir :S1 S5 S10 S12 et la feuille 2 avoir : S5 S9 S11 S13 la feuille 3 : S14 S27 S30 S52 et ainsi de suite. "
normalement tu coche la case au dessous de chaque semaine et non pas E13??
excuser moi je t'ai pas bien compris!!
si tu veux imprimer toute les feuille qui contiennent la case E13 cochée utilise le code que je t'ai donné
autre chose, explique un peu, ou si ton classeur n'est pas volumineux je te communiquerai mon adresse email peut etre ça sera mieu
@+
22 avril 2008 à 15:52
ok donc c'est cool, je vais utiliser ce code mais peux tu m'expliquer a partir de ou il faut que je copie et colle et me dire ce que je doit faire pour changer le code car E13 vas me donner que la semaine N°2 et je souhaite appliquer ce code sur chaque bouton pour toutes les semaines jusqu'a 52, me suffit il de changer E13 en F15 ou encore U17 et recopier le code dans : '''Private Sub CommandButton1_Click() "emplacement du code" End Sub''' ?
avant d'aller plus loin et me filer ton mail je préfere essayer avec tes conseil , pour apprendre, et pour pas te derranger.
22 avril 2008 à 16:21
22 avril 2008 à 16:22
pour ta deusièmme quesion si tu veux créer 52 bouton chacun pour une semaine tu copie le code comme tu as dit et juste tu change E13 par la case de chaque semaine
peut etre une autre solution sans les bouton serai mieu:
dans ta dernière feuille au lieu de créer 52 bouton tu remplie juste les cellule par "E13", "F15", "U17".... correspondant à chaque semaine tu utilisera don une seule macro pour imprimer ce que tu veux juste par double clic sur cellule
la macro détecte la valeur de cellule cliquée et cherche les X dans tous les feuilles dans la case correspondante
@+ que pense -tu de cette methode ?
@+