Supression de ligne par macro
Bonjour il y a quelque temp j'ai compiler un code pour un fichier de maintenance de machine (hebdo mensuelle ....)chaque semaine la maintenance change nous avons decide de ne plus imprimer la maintenance hebdo que sur une seule feuille (economi de papier)
il faut donc qu'il n'aparaisse sur cette feuille que la maintenance hebdo et donc suprimer les lignes qui ne correspondent pas a cette maintenance,j'ai esaayer une compil mais il me laisse une ligne que je n'arrive pas a effacer et là je seche.
je vous met le code ci dessous
'------------------------------------------------------
'ouverture GAMME M1N VTP.xls
If v = 1 Then GoTo 13
s = 22 'n° de ligne de début de martel pour prog de supression
r = 27 'n° de ligne de fin de martel pour prog de supression
ChDir "\\Br_srv00\Forums\DistrictCahors\ForumPeaGignac\AGENTS DE CONTROLE\M1N\Gamme\"
Workbooks.Open Filename:= _
"\\Br_srv00\Forums\DistrictCahors\ForumPeaGignac\AGENTS DE CONTROLE\M1N\Gamme\GAMME M1N VTP.xls "
'selection feuille
Sheets(v).Select
'insertion données entrée
Cells(5, 3) = j
Cells(5, 4) = k
Cells(5, 5) = l
Cells(5, 6) = q
'impression sur imprimante par defaut
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
'fermeture feuille
Windows("GAMME M1N VTP.xls").Close savechanges:=False
'sortie de la feuille gamme
13
'Ouverture Gamme M1N Hebdo
ChDir "\\Br_srv00\Forums\DistrictCahors\ForumPeaGignac\AGENTS DE CONTROLE\M1N\Gamme\"
Workbooks.Open Filename:= _
"\\Br_srv00\Forums\DistrictCahors\ForumPeaGignac\AGENTS DE CONTROLE\M1N\Gamme\GAMME M1N Hebdo.xls "
'Cells(200, 1) = x
'Cells(200, 2) = y
'Cells(200, 3) = v
'Cells(200, 4) = w
Rows(s).Select '22
Selection.Delete Shift:=xlUp
sa = s + 1
Rows(sa).Select '23
Selection.Delete Shift:=xlUp
sb = s + 2
Rows(sb).Select '24
Selection.Delete Shift:=xlUp
sc = s + 3
Rows(sc).Select '25
Selection.Delete Shift:=xlUp
sd = s + 4
Rows(sd).Select '26
Selection.Delete Shift:=xlUp
se = s + 5
Rows(se).Select '27
Selection.Delete Shift:=xlUp
Range("A2").Select
'impression sur imprimante par defaut
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Windows("GAMME M1N Hebdo.xls").Close savechanges:=False
Unload UserForm1
Application.Visible = True
Application.Quit
End Sub
je joint le fichier en pieces jointes car je ne sais pas si je me suis bien fait comprendre
le programe se lance avec le fichier
Test impression Gamme.xls
merci d'avance a tous ceux qui pourront m'aider
Bonjour
Le problème c'est ta façon d'effacer les lignes
Tu effaces la ligne 22 : En réalité c'est bien la ligne 22
Tu effaces la ligne 23 : En réalité c'est la ligne 24 (avant que tu effaces la ligne 27)
Etc .... pour la 2éme ligne que tu effaces tu as un décalage de 1 ligne, pour la 3ème un décalage de 2 lignes etc ...
Si tu veux effacer de la ligne 22 à 27 fais le en seule fois
Rows(22 & ":" & 27).DeleteMerci de ta réponse, mais ton code ne fonctionne que si tu met le n° des lignes hors moi j'ai des lettres a la place des n°.
par contre je viens de trouver la solution et effectivement je remontais d'une ligne a chaque fois, il fallait juste enlever
"Shift:=xlUp" a la fin de la ligne et ça fonctionne nikel
merci quand meme de ta reponse