A voir également:
- Boucle vba sur tableau excel
- Tableau croisé dynamique - Guide
- Liste déroulante excel - Guide
- Trier tableau excel - Guide
- Tableau ascii - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
2 réponses
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
26 juil. 2010 à 14:31
26 juil. 2010 à 14:31
Bonjour,
je pense qu'en adaptant ce tuto tu pourra avancer dans ton projet.
A+
je pense qu'en adaptant ce tuto tu pourra avancer dans ton projet.
A+
je reviens tjrs par rapport à mon problème. j'ai écris une ébauche de code:
Sub imprime()
Dim c As Range
For Each c In [recherche] "recherche" est le nom de la plage sur laquelle je boucle
ligne = c.Row
If c.Value = "Exc. Rach." Then
[code] = Cells(ligne, 1) "code" est le nom d'une cellule dans ma feuil("lettre_réduction")
Sheets("lettre_réduction").PrintOut
End If
If c.Value = "Exc.Sous." Then
[codec] = Cells(ligne, 1) "codec" est le nom d'une cellule dans ma feuil("lettre_augmentation")
Sheets("lettre_augmentation").PrintOut
End If
If c.Value = "en attente" Then
c.EntireRow.Copy
Sheets("en_attente").Activate
Rows("2:2").Select
Selection.Insert Shift:=xlDown
End If
Next c
End Sub
le PB est le suivant: suppossons qu'il 6 entrées dans [recherche] (2 "exc.rach" / 2 "exc.sous" et 2 "en attente").
le programme copie bien les 2 lignes "en attente" dans la sheets("en_attente"). il imprime bien 4 pages, mais sauf que seulle la première page est remplie. les 3 autres sont vierges.
how is it possible? any idea?
Sub imprime()
Dim c As Range
For Each c In [recherche] "recherche" est le nom de la plage sur laquelle je boucle
ligne = c.Row
If c.Value = "Exc. Rach." Then
[code] = Cells(ligne, 1) "code" est le nom d'une cellule dans ma feuil("lettre_réduction")
Sheets("lettre_réduction").PrintOut
End If
If c.Value = "Exc.Sous." Then
[codec] = Cells(ligne, 1) "codec" est le nom d'une cellule dans ma feuil("lettre_augmentation")
Sheets("lettre_augmentation").PrintOut
End If
If c.Value = "en attente" Then
c.EntireRow.Copy
Sheets("en_attente").Activate
Rows("2:2").Select
Selection.Insert Shift:=xlDown
End If
Next c
End Sub
le PB est le suivant: suppossons qu'il 6 entrées dans [recherche] (2 "exc.rach" / 2 "exc.sous" et 2 "en attente").
le programme copie bien les 2 lignes "en attente" dans la sheets("en_attente"). il imprime bien 4 pages, mais sauf que seulle la première page est remplie. les 3 autres sont vierges.
how is it possible? any idea?
27 juil. 2010 à 09:02