Modification macro impression
Bonjour,
J'ai cette macro pour imprimer et on me demande d'aller chercher les cellules d'une liste au lieu des lignes. Comme je ne connais rien en macro, j'aimerais apprendre et savoir ce que l'on me demande.
Sub Imprimante_Liste_Click()
Dim Ligne%, DL%
Application.ScreenUpdating = False
DL = Sheets("Donnée").Cells(Cells.Rows.Count, "A").End(xlUp).Row
If [C4] = "" Then NumC4 = 1 Else NumC4 = [C4]
For Ligne = NumC4 + 1 To DL
[C4] = Sheets("Donnée").Cells(Ligne, "A")
Calculate
'ActiveSheet.PrintOut
MsgBox "Impression feuille : " & [C4]
Next Ligne
End Sub
Bonjour,
Une erreur, sur
[B4] = Sheets("Donnée").Cells(Range, "A")
Cells te demande un numero de ligne et un numero de colonne (pas une lettre).
If [B4] = "" Then NumB4 = 1 Else NumB4 = [B4]
Je ne pense pas que tu aies besoin de ce "if", si j'ai compris ce que tu souhaites faire essai ça :
Sub Imprimante_Click()
Dim Range%, DL%
Application.ScreenUpdating = False
DL = Sheets("Donnée").Cells(Cells.Rows.Count, "A").End(xlUp).Row
For Range = 2 To DL
[B4] = Sheets("Donnée").Cells(Range, 1)
'ActiveSheet.PrintOut
MsgBox "Impression feuille : " & [B4]
Next Range
End Sub
A+
PS: Je suis parti sur la macro qu'il y a dans ton fichier (qui n'est pas la meme que ce que tu as ecris sur le forum)
PS2: sur ton fichier tu met vouloir les données de "Donnée A2:A10" il te suffit de mettre
DL = 10
'a la place de la derniere ligne trouvé de la feuille "Donnée" en colonne A qui donne :
DL = Sheets("Donnée").Cells(Cells.Rows.Count, "A").End(xlUp).Row
Bonjour,
Tout d'abord merci pour ton aide.
Le but c'est d'imprimer les feuilles d'une liste qui se trouve dans la feuille (Donnée). Lorsque j'extraits des personnes par exemple 20 , je veux imprimer ces dernières.
Un autre jours j'extraits la suite jusqu'à 50, donc en tapant dans B4 (Base), le n°21, je souhaite imprimer les feuilles de 21 à 50 et ainsi de suite. Et aussi il faut savoir que les numéros son en ordre croissant, mais il se peut qu'il manque une chiffre entre par exemple 35 - 37- 38 - 40 . Mais si la macro suit la liste pour moi ça me convient. Et si je veux imprimer toute la liste , je saisi en B4 N°1 et la macro fait imprimer jusqu'au dernier numéro.
Pour ma macro du fichier oui c'était ça
Sub Imprimante_Click()
Dim Range%, DL%
Application.ScreenUpdating = False
DL = Sheets("Donnée").Cells(Cells.Rows.Count, "A").End(xlUp).Row
If [B4] = "" Then NumB4 = 1 Else NumB4 = [B4]
For Range = NumB4 To DL
[B4] = Sheets("Donnée").Cells(Range, "A")
Calculate
'ActiveSheet.PrintOut
MsgBox "Impression feuille : " & [B4]
Next Range
End Sub
Ok donc il faut bien le "if" mais il te maquait le recherche du nombre "numero de carte"
qui est au niveau de ma ligne de code "set Num"
et on reprend la boucle for de NumB4 (qui est = a la ligne de notre recherche "Num").
Sub Imprimante_Click()
Dim Range%, NumB4%, DL%
Application.ScreenUpdating = False
DL = Sheets("Donnée").Cells(Cells.Rows.Count, 1).End(xlUp).Row
If [B4] = "" Then
NumB4 = 2
Else
Set Num = Sheets("Donnée").Range("A:A").Find(Sheets("Base").Cells(4, 2), LookIn:=xlValues)
NumB4 = Num.Row
End If
For Range = NumB4 To DL
[B4] = Sheets("Donnée").Cells(Range, 1)
'ActiveSheet.PrintOut
MsgBox "Impression feuille : " & [B4]
Next Range
End Sub
Merci beaucoup , ça fonctionne très bien, sans toi je n'aurais jamais réussi. Il faut vraiment que je prenne des cours de VBA
Merci beaucoup et bonne soirée