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

Rechercher des sujets similaires à "modification macro impression"