• Initiateur de la discussion Initiateur de la discussion breeze
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

breeze

XLDnaute Occasionnel
Bonjour,
Je cherche à imprimer une liste d'élève par année
w5:w404 l'année de 1 à 5 et
x5:x404 le nom

Ce que je veux c'est dans ma liste d'élève (x5:x404) tout ceux qui sont en 1ere année
je veux que le premier nom en 1ere année s'affiche en b2 et s'imprime
ensuite que le 2ième nom en 1ere année s'affiche en b2 et s'imprime
ensuite que le 3ième nom en 1ere année s'affiche en b2 et s'imprime

J'utilise une cellule O1 pour mettre l'année 1, 2, 3, 4, 5

J'utilise cette macro mais il s'emble pas fontionner


Sub impniveau()

For Each c In Range("w5:w404")
If c.Value = Range("o1").Value Then c.Offset(0, 1).Select
Selection.Copy
Range("B2").Select
ActiveSheet.Paste
Impressiondossier
Next c

End Sub


Si quelqu'un pouvais m'aider je vous en serais reconnaissant

merci!!!
 
Re : Boucle d'impression

Salut breeze et le forum
au lieu d'utiliser une police pour compliquer la lecture de ton code, utilise les balises prévues à cet effet (icone # en mode avancé) !
Je cherche à imprimer une liste d'élève par année
w5:w404 l'année de 1 à 5 et
x5:x404 le nom

Ce que je veux c'est dans ma liste d'élève (x5:x404) tout ceux qui sont en 1ere année
je veux que le premier nom en 1ere année s'affiche en b2 et s'imprime
ensuite que le 2ième nom en 1ere année s'affiche en b2 et s'imprime
ensuite que le 3ième nom en 1ere année s'affiche en b2 et s'imprime
Tu te contredis ! soit tu veux imprimer une liste (une impression par année) soit tu veux une feuille par élève en fonction de l'année en O1
En admettant que l'erreur ne vienne pas de la macro "Impressiondossier"
Code:
Sub impniveau()
For Each c In Range("w5:w404")
    If c = Range("o1") Then
        c.Offset(0, 1).Copy Range("B2")
        Impressiondossier
    End If
Next c
End Sub
Pour chaque cellule de W5 à W404
si la cellule= O1, alors
copier la cellule décalée de une colonne (X) dans B2
lancer la macro "Impressiondossier"

A+
 
Re : Boucle d'impression

Bonsoir,
VB:
Sub impniveau()
	For Each c In Range("W5:W404")
		If c.Value = Range("O1").Value Then 
			c.Offset(0, 1).Copy Destination:=Range("B2")
			Impressiondossier
		End If
	Next c
End Sub
A+

Bonjour Gorfael, tu m'as pris de vitesse !
 
Re : Boucle d'impression

Pour répondre à Gorfael C'est une feuille par élève de l'année 1 que je veux imprimer
Pour repondre à Hippolite C'est la macro que je croyait bonne mais elle m'Affiche une erreur dans la ligne
c.Offset(0, 1).Copy Destination:=Range("B2")
Merci
 
Re : Boucle d'impression

Re,
As-tu placé la macro dans la feuille ?
Si tu l'as placée ailleurs , il faut préciser la feuille avant Range
VB:
Sub impniveau()
With Sheets("???")
    For Each c In .Range("W5:W404")
        If c.Value = .Range("O1").Value Then
            c.Offset(0, 1).Copy Destination:=.Range("B2")
            Impressiondossier
        End If
    Next c
End With
End Sub
A+

Ajout : Il est toujours plus efficace de joindre un fichier exemple, cela permet de prendre en compte l'environnement
 
Dernière édition:
Re : Boucle d'impression

Re,
VB:
Sub impniveau()
	Sheets("???")
		For Each c In .Range("W5:W404")
			If c.Value = .Range("O1").Value Then
				c.Offset(0, 1).Copy 
				.Range("B2").PasteSpecial Operation:=xlPasteValues
				Impressiondossier
			End If
		Next c
	End With
End Sub
A+
 
Re : Boucle d'impression

Bonsoir le fil

Un autre méthode (en passant par un AutoFilter)

VB:
Sub impniveau()
Dim s As Worksheet, C_RIT$
    For Each s In Worksheets
    C_RIT = s.[O1].Text
    s.Range("W5:W404").AutoFilter Field:=1, Criteria1:="=" & C_RIT
    s.PageSetup.PrintArea = s.[_FilterDatabase].Address(1, 1)
    s.PrintPreview 'mis ici pour test -> à remplacer
    Next s
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
791
C
  • Question Question
Réponses
23
Affichages
5 K
F
Réponses
13
Affichages
2 K
Retour